Python爬虫requests库的使用方法
这篇文章主要讲解了Python爬虫requests库的使用方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
requests安装和使用
下载安装:pip install requests
#requests模块import requests#发送请求 content:以二进制的形式获取网页的内容response=requests.get("http://www.baidu.com").content.decode()#response=requests.request("get","http://www.baidu.com").content.decode()print(response)
添加请求头和参数
import requestsurl="http://www.baidu.com/s?"headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) \AppleWebKit/537.36 (KHTML, like Gecko) \Chrome/81.0.4044.138 Safari/537.36"}wd={"wd":"中国"}response=requests.get(url,params=wd,headers=headers)# 返回一个字符串形式的数据data=response.text# 返回一个二进制形式的数据data2=response.contentprint(data2.decode())
处理Post请求
处理get请求:get()方法
处理post请求:post()方法
import requestsimport re#构造请求头信息header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \AppleWebKit/537.36 (KHTML, like Gecko) \Chrome/81.0.4044.122 Safari/537.36"}#谷歌浏览器#http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule 网页上的urlurl="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"key="靓仔"#发送到web服务器的表单数据formdata={"i":key,"from":"AUTO","to":"AUTO","smartresult":"dict","client":"fanyideskweb","salt":"15880563488791","sign":"cc2c40d740538fc5edc0380891faef27","ts":"1588053583943","bv":"f9c86b1fdf2f53c1fefaef343285247b","doctype":"json","version":"2.1","keyfrom":"fanyi.web","action":"FY_BY_REALTlME"}response=requests.post(url,headers=header,data=formdata)# 获取到的是json数据# 对应的是字典# print(response.json())pat=r'"tgt":"(.*?)"}]]' #字符串中有"",再用''括起来表示字符串# 获取到的是字符串result=re.findall(pat,response.text)print(result[0])
代理IP
import requests#设置ip地址#proxy={"http":"http://代理ip地址:端口号"}#可以设置多个proxy={"http":"http://222.82.130.23:8060","http":"http://101.248.64.68:80",}response=requests.get("http://www.baidu.com",proxies=proxy)print(response.content.decode())
获取响应的cookie
cookie:用户信息
import requestsresponse=requests.get("http://www.baidu.com")#1.获取返回的cooketjar对象cookiejar=response.cookies#2.将cookiejar转换成字典cookiedict=requests.utils.dict_from_cookiejar(cookiejar)print(cookiedict)
session实现登陆
相比直接使用cookie,创建session可以得到新的cookie信息,不会出现cookie失效的情况
#使用session实现登陆import requests#构造请求头信息header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) \AppleWebKit/537.36 (KHTML, like Gecko) \Chrome/81.0.4044.122 Safari/537.36"}#谷歌浏览器#创建session对象ses=requests.session()#构造登陆需要的参数data={"email":"325*****@qq.com","password":"123321a"}#通过传递用户名密码得到cookie信息ses.post("http://www.renren.com/PLogin.do",data=data,headers=header)#请求需要的页面,每次请求会带入cookie信息response=ses.get("http://www.renren.com/880151247/profile")print(response.text)
看完上述内容,是不是对Python爬虫requests库的使用方法有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。