Python爬虫requests库多种用法实例
更新时间:2020年05月28日 08:36:22 作者:Hecarim
这篇文章主要介绍了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 requests url="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.content print(data2.decode())
处理Post请求
处理get请求:get()方法
处理post请求:post()方法
import requests import 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 网页上的url url="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 requests response=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循环中else,break和continue的用法实例详解
这篇文章主要介绍了Python循环中else,break和continue的用法,结合实例形式详细分析了Python for循环、while循环中else,break和continue的功能、用法及相关操作注意事项,需要的朋友可以参考下2019-07-07对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
今天小编就为大家分享一篇对python中Matplotlib的坐标轴的坐标区间的设定实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-05-05
最新评论