程序笔记   发布时间:2022-07-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了【Python爬虫】爬虫利器 requests 库小结(建议收藏!)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

requests库

requests 是一个 Python 的 http 客户端库。 支持许多 http 特性࿰c;可以非常方便地进行网页请求、网页分析和处理网页资源࿰c;拥有许多强大的功能。

本文主要介绍 requests 库的基础使用。

1. 安装与导入

安装requests库:快捷键 Windows+r 打开运行控制框࿰c;输入 cmd࿰c;进入命令行࿰c;输入:

pip install requests

导入:

import requests

2. 主要方法

七个主要方法:

方法描述
requests.request发送请求࿰c;支撑以下各方法
requests.get向网页发送get请求࿰c;获取网页信息(GET)
requests.post向网页发送post请求(POST)
requests.put向网页发送put请求(PUT)
requests.head获取网页请求头信息(HEAD)
requests.patch向网页提交局部修改请求(PATCH)
requests.delete向网页提交删除请求(deletE)
requests.Session会话࿰c;相比于直接requests请求࿰c;具有保持功能

3. 主要的使用方法

3.1 requests.request(method, url, **kwargs)

  • @H_958_7@method 设置请求方式(get、post、put、head、patch、delete)

  • url 设置请求地址

  • kwargs 控制访问参数

request 方法中各方法的参数与以下相应的方法相同。

3.2 requests.get(url, params=None, **kwargs)

  • url 设置请求地址。一般地址中问号后面的可以省略c;问号后面的即是请求参数。
  • params 设置发送请求时所带的参数࿰c;字典或字节流格式࿰c;作为额外参数连接到url中(问号后的部分)。可选
  • kwargs 控制访问参数࿰c;kwargs参数表。可选

发送请求:

url = 'https://blog.csdn.net/weixin_52132159' # 我的博客主页
#url = 'https://blog.csdn.net/weixin_52132159?spm=1019.2139.3001.5343'
headers = {
	'cookie': '...',
	'Referer': '...'
}
params = {'spm': '1019.2139.3001.5343'}

response = requests.get(url, headers=headers, params=params) # 发送请求

3.3 requests.post(url, data=None, json=None, **kwargs)

  • url 设置请求地址
  • data 为字典、字节序列或文件对象࿰c;作为请求的内容࿰c;向服务器提交资源时使用࿰c;可选
  • json 为 JSON格式的数据࿰c;作为内容向服务器提交。可选
  • kwargs 控制访问参数࿰c;kwargs参数表。可选

发送请求:

url = 'https://fanyi.so.com/index/search' # 360翻译
headers = {
    'PRO': 'fanyi'
}
data = {
    'eng': 0, # 是否从英文转中文
    'query': '你好' # 翻译的单词
}

response = requests.post(url, headers=headers, data=data) # 发送请求

3.4 requests.Session

Session 方法可以实现回话࿰c;持续性地发送requests请求࿰c;能够跨请求保持cookie。

经实例化后࿰c;可用 get、post 等方法发送请求࿰c;用法不变。

示例:

response = requests.Session()

response.post('https://fanyi.so.com/index/search')
response.get('https://blog.csdn.net/weixin_52132159')

3.4 其他

其他的方法使用过程与 get 与 post 类似࿰c;都有着kwargs参数表 中的参数࿰c;依实际情况选择使用。

5. post 与 get 方法

接下来我们要说说 http 请求中 post 和 get 方式的异同。

post 方法࿰c;就是在你进入一个网页后࿰c;你发送的新的请求以进行一些操作。post 方法需要两个重要的参数 urldatac;url 表示要发送请求的网址࿰c;data 则是提交的数据和信息。网页根据新得到的信息࿰c;再渲染加载出新的页面。比如爬取360翻译࿰c;在进入翻译界面后࿰c;通过填写翻译内容、点击翻译按钮࿰c;网页返回翻译的结果。这就是 post 请求。

get 方法࿰c;一般是直接通过发送请求࿰c;来获取网页信息。比如࿰c;直接通过 get 方法获取网页上的豆瓣电影排行榜等。当然࿰c;也有时候 get 方法使用的情况和 post 方法相似࿰c;如用get方法搜索酷我音乐。这时候就要看网页所规定的请求方式来选择了。

4. kwargs 参数表

参数说明
params送请求时所带的参数࿰c;字典或字节流格式࿰c;作为额外参数连接到url中
data字典、字节序列或文件对象࿰c;作为requests的内容࿰c;向服务器提交资源时使用
jsonJSON格式的数据࿰c;作为内容向服务器提交
headers字典类型࿰c;请求头
cookies字典或 CookieJar 对象࿰c;http协议中解析 cookie。字典形式的 cookie 也可放入 headers中
auth元组类型࿰c;支持http认证功能
files字典类型࿰c;向服务器传输文件时使用
timeout设定等待响应的时间࿰c;单位为秒
proxies字典类型࿰c;设定访问代理服务器
allow_redirects布尔类型࿰c;默认为True࿰c;重定向开关
stream布尔类型࿰c;默认为True࿰c;判断是否对获取内容立即下载
verify布尔类型࿰c;默认为True࿰c;认证SSL证书的开关
cert保存本地SSL证书路径的字段

文章:https://blog.csdn.net/qq_43406976/article/details/104538316

5. 响应内容

发送请求后࿰c;返回的是一个 response 对象。我们可以通过该对象的属性和方法获取返回内容。

方法或属性说明
response.url返回请求的URL
response.text返回headers中的编码解析的结果࿰c;可以通过r.encoding='gbk’来变更解码方式
response.content返回二进制结果
response.status_code返回响应码࿰c;如200、404等
response.headers返回请求头
response.cookies返回一个requestsCookieJar对象
response.history返回以列表存储的请求历史记录
response.json()返回返回结果经json解码后的内容࿰c;一般返回一个字典(这是个方法࿰c;要带括号)

6. 使用格式示例

6.1 爬取360翻译(POST)

url = 'https://fanyi.so.com/index/search'
headers = {
    'PRO': 'fanyi',
}
data = {
    'eng': 1,
    'query': 'hello'
}

r = requests.post(url, data=data, headers=headers)
print(r.url)
print(r.status_code)
print(r.json()['data']['fanyi'])

输出:

https://fanyi.so.com/index/search
200
你好

6.2 爬取图片/视频

import requests
pic = requests.get('https://profile.csdnimg.cn/E/5/9/3_weixin_52132159').content
with open ('作者头像.jpg','wb') as i:
	i.write(pic)
@H_229_673@

更多爬虫的教学和案例可以见作者的专栏:Python爬虫

– the End –

这篇文章就到这里了࿰c;点个赞支持一下吧!

本文收录于专栏:Python爬虫 关注作者࿰c;持续阅读作者的文章࿰c;学习更多Python知识! https://blog.csdn.net/weixin_52132159

@H_229_673@

2021/8/6

已完成的爬虫教程:

  • Python爬虫从0到1 | 入门实战:360翻译 ——requests库之POST方法
  • Python爬虫从0到1 | 爬取酷我音乐信息并下载 ——requests库之GET方法

推荐阅读

  • Python爬虫 | 爬取b站北京奥运会开幕式弹幕࿰c;有多少人从东京奥运会跑过来的?
  • 绝密!Python爬虫告诉你刷分机器人背后的原理!这篇文章差点没过审
  • Python每天一道题:昆虫繁殖问题?我把密密麻麻的幼虫和成虫搞定了
  • 没想到我连五年级的题目都解不出来?可不能被人小看࿰c;让万能的Python登场
  • Python:程序猿怎么追女生?教你短短几行代码表白࿰c;告别表白尴尬!
  • 想学Python不知从何入手?学习Python必备秘籍࿰c;附地址࿰c;速拿!
  • Python标准库:datetiR_259_11845@e 时间和日期模块 —— 时间的获取和操作详解
  • 学习笔记 | PyInstaller 使用教程——用pyinstaller打包exe应用程序【建议收藏!】

大佬总结

以上是大佬教程为你收集整理的【Python爬虫】爬虫利器 requests 库小结(建议收藏!)全部内容,希望文章能够帮你解决【Python爬虫】爬虫利器 requests 库小结(建议收藏!)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。