爬爬爬,爬蟲之獲取資料 requests

2021-09-10 03:59:30 字數 2526 閱讀 4532

推薦使用requests庫,相比urllib使用要簡介的多

requests向目標站點傳送請求,獲得乙個httpresponse響應

import requests

requests.get('')

requests.post('')

requests.put('')

requests.delete('')

requests.head('')

requests.options('')

#  **是乙個測試**

看看response裡都有些啥

import requests

response = requests.get('')

print(response.status_code) # 列印狀態碼

print(response.url) # 列印請求url

print(response.headers) # 列印頭資訊

print(response.cookies) # 列印cookie資訊

print(response.text) # 以文字形式列印網頁原始碼

get請求攜帶引數,有兩種方法

1.將資料放在請求位址

2,將資料放入字典,作為get方法的引數

import requests

response = requests.get('?name=gemey&age=22')

print(response.text)

'''響應內容

, "headers": ,

"origin": "117.136.46.209",

"url": "?name=gemey&age=22"

}'''

import requests

data =

response = requests.get('',params=data)

print(response.text)

'''響應內容

, "headers": ,

"origin": "117.136.46.209",

"url": "?name=lu&age=18"

}'''

json方法

import requests

response = requests.get('')

print(response.text)

print(response.json()) # response.json()方法同json.loads(response.text)

print(type(response.json()))

新增請求頭獲取請求頭:

新增:

import requests

headers =

response = requests.get('',headers=headers)

異常處理

在通過requests.post()進行post請求時,傳入報文的引數有兩個,乙個是data,乙個是json。常見的form表單可以直接使用data引數進行報文提交,而data的物件則是python中的字典型別

# post 語法

post(url, data=none, json=none, **kwargs)

def post_name_money(number, name, money):

url = ""

header = ".format(cookies)}

data = '.format(name),

'contractnum':''.format(number),

}html = requests.post(url, data, headers=header).html

爬爬爬,爬蟲之資料提取 正規表示式

常見匹配模式 re.match嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功,則match 返回none re.match pattern,string,flags 0 最常規的匹配 import re content lu 156 156 shuai ke result re.matc...

python爬京東 反爬 爬蟲怎麼測試反爬?

有沒有反爬,如果你沒有用爬蟲抓取過,你是不可能知道的。就算要測試,你還要嘗試不同的delay。如果設定的 delay 在 的反爬頻率外,那就測不出來。如果在頻率內,那就被封。或者封ip,或者封賬號。如果一定要測出來,就簡單粗暴的方法,你不要設定delay,就不間斷的抓,最後出現兩種情況,1 有反爬,...

python爬蟲之反爬與反反爬技術

1 headers請求頭協議 可以在每個網頁的這裡找到 這裡的request headers就可以找到我們需要加上的請求頭資訊,使用requests模組一般情況下加上 user agent 就行了。下面對請求頭資訊裡的幾個部分做乙個簡單介紹 user agent 儲存在使用者終端上的資料 refer...