requests發送數據和對反爬蟲的處理 ----------python的爬蟲學習


------------------requests中發送數據------------------
需要先安裝requests庫:pip install requests
在requests中發生post的數據很簡單,只需要對應一個發送數據的字典傳入,
它內部會自動的給你進行編碼在傳送數據,發送get數據也如此
 
帶參數的get請求
url='https://www.baidu.com/s?wd=123' 
head={'User‐Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi t/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
rep=requests.get(url,headers=head)
print(rep.text)

 

帶參數的post請求
postData = { 'username':'Angela',
'password':'123456'
}
response = requests.post(url,data=postData)

 

添加headers中的User-Agent(標識符)....
head={'User‐Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi t/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
rep=requests.get(url,headers=head)

添加其他的如:cookies、referer也是如此,在前面的urllib的反爬蟲也介紹過了

 

cookies在requests庫中的獲取方法
url='https://www.baidu.com/'
req=requests.get(url)
req.cookies
<RequestsCookieJar[Cookie(version=0, name='B...省略

保存cookie信息可以用內置的open方法以w的方式打開,在需要用到的時候帶出

 
用requests的session來保存,使用的時候可以不用再指定cookies參數。
這里的session不是web開發中的sessionsession保存返回cookies,並且使用該cookies完成網絡請求
 
get_cookies=requests.session()
head={'User‐Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKi t/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
url='https://www.baidu.com/'
get_cookies.get(url,headers=head)
#此時已經從百度返回一個cookies信息
#我們可以直接調用該cookies
get_cookies.get(url+'s?wd=123',headers=head)
<Response [200]>

  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM