大佬教程收集整理的这篇文章主要介绍了【Python爬虫】爬虫利器 requests 库小结(建议收藏!),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
requests 是一个 Python 的 http 客户端库。 支持许多 http 特性c;可以非常方便地进行网页请求、网页分析和处理网页资源c;拥有许多强大的功能。
本文主要介绍 requests 库的基础使用。
安装requests库:快捷键 Windows+r 打开运行控制框c;输入 cmdc;进入命令行c;输入:
pip install requests
导入:
import requests
七个主要方法:
方法 | 描述 |
---|---|
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;具有保持功能 |
发送请求:
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) # 发送请求
发送请求:
url = 'https://fanyi.so.com/index/search' # 360翻译
headers = {
'PRO': 'fanyi'
}
data = {
'eng': 0, # 是否从英文转中文
'query': '你好' # 翻译的单词
}
response = requests.post(url, headers=headers, data=data) # 发送请求
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')
其他的方法使用过程与 get 与 post 类似c;都有着kwargs参数表 中的参数c;依实际情况选择使用。
接下来我们要说说 http 请求中 post 和 get 方式的异同。
post 方法c;就是在你进入一个网页后c;你发送的新的请求以进行一些操作。post 方法需要两个重要的参数 url 和 datac;url 表示要发送请求的网址c;data 则是提交的数据和信息。网页根据新得到的信息c;再渲染加载出新的页面。比如爬取360翻译c;在进入翻译界面后c;通过填写翻译内容、点击翻译按钮c;网页返回翻译的结果。这就是 post 请求。
get 方法c;一般是直接通过发送请求c;来获取网页信息。比如c;直接通过 get 方法获取网页上的豆瓣电影排行榜等。当然c;也有时候 get 方法使用的情况和 post 方法相似c;如用get方法搜索酷我音乐。这时候就要看网页所规定的请求方式来选择了。
参数 | 说明 |
---|---|
params | 送请求时所带的参数c;字典或字节流格式c;作为额外参数连接到url中 |
data | 字典、字节序列或文件对象c;作为requests的内容c;向服务器提交资源时使用 |
json | JSON格式的数据c;作为内容向服务器提交 |
headers | 字典类型c;请求头 |
cookies | 字典或 CookieJar 对象c;从http协议中解析 cookie。字典形式的 cookie 也可放入 headers中 |
auth | 元组类型c;支持http认证功能 |
files | 字典类型c;向服务器传输文件时使用 |
timeout | 设定等待响应的时间c;单位为秒 |
proxies | 字典类型c;设定访问代理服务器 |
allow_redirects | 布尔类型c;默认为Truec;重定向开关 |
stream | 布尔类型c;默认为Truec;判断是否对获取内容立即下载 |
verify | 布尔类型c;默认为Truec;认证SSL证书的开关 |
cert | 保存本地SSL证书路径的字段 |
参考文章:https://blog.csdn.net/qq_43406976/article/details/104538316
发送请求后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;要带括号) |
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
你好
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爬虫
这篇文章就到这里了c;点个赞支持一下吧!
本文收录于专栏:Python爬虫 关注作者c;持续阅读作者的文章c;学习更多Python知识! https://blog.csdn.net/weixin_52132159
@H_229_673@2021/8/6
已完成的爬虫教程:
推荐阅读
- 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,请注明来意。