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]>

  

猜你喜欢

转载自www.cnblogs.com/lcyzblog/p/11269341.html