Python爬虫requests库多种用法实例
作者:Hecarim 时间:2021-01-10 13:31:56
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])
*
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)
来源:https://www.cnblogs.com/Just-a-calm-programmer/p/12956945.html
标签:Python,requests,库
0
投稿
猜你喜欢
Python环境使用OpenCV检测人脸实现教程
2022-01-24 11:31:21
谈谈从phpinfo中能获取哪些值得注意的信息
2023-11-23 23:52:17
MySQL5创建存储过程实例
2010-06-13 12:49:00
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2022-05-06 14:26:39
python定时任务sched库用法简单实例
2023-11-07 07:26:14
一个asp正则替换的方法
2008-11-25 14:05:00
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2021-03-16 08:53:47
SQL触发器实例讲解
2024-01-24 13:46:55
Python常用数字处理基本操作汇总
2021-01-06 12:56:28
js保存当前路径(cookies记录)
2024-06-21 06:44:16
FF和IE之间7个JavaScript的差异[译]
2009-05-04 18:19:00
OpenCV半小时掌握基本操作之图像梯度
2022-05-29 00:48:03
用mysqldump备份和恢复指定表的方法
2024-01-17 13:37:00
Golang开发中如何解决共享变量问题
2024-05-09 14:56:58
golang时间/时间戳的获取与转换实例代码
2023-09-02 06:04:43
PHP策略模式定义与用法示例
2024-05-13 09:21:04
vue之组件内监控$store中定义变量的变化详解
2023-07-02 17:01:31
python中plt.imshow与cv2.imshow显示颜色问题
2023-12-13 10:47:54
Python将字典转换为XML的方法
2023-08-04 16:13:22
python中如何提高图像质量
2023-05-17 17:02:03