requests库

  • requests
  • requests 关键字参数
  • 响应体常见的方法和属性
  • cookie
  • session 会话维持
  • 处理不受信任的SSL证书

requests

  • 虽然python的标准库中urllib模块已经包含了平常我们使用的大多数功能,但是它的API使用起来让人感觉不太好
  • requests 是用python编写,基于urllib,但是比urllib更加方便

requests 关键字参数

  • method: 请求方法
  • url: 请求网址
  • headers:请求头字段
  • cookies:用户身份标识
  • proxies:ip代理的关键字参数
  • params:查询参数
  • data:请求参数 post请求
  • timeout:设置响应时间,一旦超时程序报错
  • allow_redirects:是否运行重定向
  • verify:是否验证证书
  • json:json提交参数
  • files:文件
  • auth:权限认证
  • stream:是否是数据流传输

响应体常见的方法和属性

  • text:获取响应体文本数据
  • content:获取响应体二进制数据
  • json():获取响应体的json数据,如果不是json数据,会报错
  • headers:查看响应体的响应头信息
  • encoding:指定响应体编码
  • apparent_encoding:自动识别响应体编码
  • cookies:获取响应体的cookies字段信息,得到的是RequestsCookieJar对象
  • url:获取响应体的url地址
  • status_code:获取响应体状态码
import requests
url = 'https://movie.douban.com/top250'
headers = {'Cookie': 'bid="xYzW76eUFk8"; __yadk_uid=XU38FA8bxpKrGZUK1KNEfbTp2VcwSYr4; __gads=ID=6db86c8088752a10-225dc67a68c40078:T=1603710897:RT=1603710897:S=ALNI_MaKwh8GKcMOamfPzR24mBE6kuNMoA; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1603803210%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D5ySilQQPbwcNZs9RwHAuyDAobBcp2_xCj2lV3bceXeMRZLwzc7lQUqN2wmVhtSOl%26wd%3D%26eqid%3Dfcc151630008b5d4000000065f981848%22%5D; _pk_id.100001.4cf6=ce6b3b49020921cb.1603710897.3.1603803210.1603718808.; _pk_ses.100001.4cf6=*; __utma=30149280.1097713080.1601989162.1603718808.1603803210.4; __utmb=30149280.0.10.1603803210; __utmc=30149280; __utmz=30149280.1603803210.4.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utma=223695111.1702441161.1603710897.1603718808.1603803210.3; __utmb=223695111.0.10.1603803210; __utmc=223695111; __utmz=223695111.1603803210.3.2.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; ap_v=0,6.0','Host': 'movie.douban.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36',
}
response = requests.get(url=url, headers=headers)
html_data = response.text
html_data.encode()  # 编码成二进制
# 响应体的常见的方法和属性
print('获取响应体的文本数据', response.text)  # 获取响应体的文本数据  str
print('获取响应体的二进制数据', response.content)  # 获取响应体的二进制数据  二进制
# print(response.json())  # 获取响应体的json数据, 如果数据不是json数据, 使用json()方法提取会报错
print('查看响应体的响应头信息', response.headers)  # 查看响应体的响应头信息
print('指定响应体编码',response.encoding)  # 指定响应体编码
print('自动识别响应体编码',response.apparent_encoding)  # 自动识别响应体编码
print('获取响应体的 cookies 字段信息', response.cookies)  # 获取响应体的 cookies 字段信息, 得到的是 RequestsCookieJar对象
print(response.cookies.get_dict()) # 以字典形式打印cookie
print('获取响应体的url地址', response.url)  # 获取响应体的url地址
print('获取响应体状态码', response.status_code)  # 获取响应体状态码

cookie

"""
利用cookie模拟登录
"""
import requests
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36''cookie':''}
res = requests.post(post_url, headers=header)
print(res.text)

session 会话维持

"""
利用session进行cookie共享
代码格式:
"""
# 创建session对象
import requests
session = requests.Session()
url_login = '登录网址'
header = {}
data = {'UserName':'','password':''}
session.post(url_login, headers=header, data=data)  # 此时session中已经有了cookie
# 登录个人网页
url = '个人页面'
response = session.get(url)
print(response.text)

处理不受信任的SSL证书

  • 对于已经被信任的SSL证书的网站用requests库可以正常访问
import requests
import urllib3  # 爬虫模块
urllib3.disable_warnings()  # 忽略关闭认证ca证书之后引发的警告
url = 'https://data.stats.gov.cn/'
res = requests.get(url)
print(res.text) # 会报错
# verify=False  使用requests模块发送请求的时候,不验证ca证书,默认会验证(verify=True)
response = requests.get(url=url, verify=False)
print(response.text)

【爬虫基础】requests库相关推荐

  1. python爬虫基础-requests库

    python爬虫基础-requests库 python爬虫 1.什么是爬虫? 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程. 注意:浏览器抓取的数据对应的页面是一个完整的页面. 为什 ...

  2. 爬虫基础-requests库的使用

    注:本文章为学习过程中对知识点的记录,供自己复习使用,也给大家做个参考,如有错误,麻烦指出,大家共同探讨,互相进步. 借鉴出处: 该文章的路线和主要内容:崔庆才(第2版)python3网络爬虫开发实战 ...

  3. python的requests库的添加代理_python爬虫之requests库使用代理

    python爬虫之requests库使用代理 发布时间:2020-03-25 17:00:54 来源:亿速云 阅读:110 作者:小新 今天小编分享的是关于python爬虫的requests库使用代理 ...

  4. 煎蛋网妹子图爬虫(requests库实现)

    煎蛋网妹子图爬虫(requests库实现) 文章目录 煎蛋网妹子图爬虫(requests库实现) 一.前言 环境配置 二.完整代码 一.前言 说到煎蛋网爬虫,相比很多人都写过,我这里试着用reques ...

  5. 起点中文网爬虫实战requests库以及xpath的应用

    起点中文网爬虫实战requests库以及xpath的应用 知识梳理: 本次爬虫是一次简单的复习应用,需要用到requests库以及xpath. 在开始爬虫之前,首先需要导入这两个库 import re ...

  6. python爬取图片的库_16-python爬虫之Requests库爬取海量图片

    Requests 是一个 Python 的 HTTP 客户端库. Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和P ...

  7. python爬虫requests库_python爬虫使用Requests库 - pytorch中文网

    在入门教程中我们介绍了urllib库和urllib2的用法,同时我们了解一些爬虫的基础以及对爬虫有了基本的了解.其实在我们生产环境中,使用Request库更加方便与实用,同时我们这需要短短的几行代码就 ...

  8. 16-python爬虫之Requests库爬取海量图片

    Requests 是一个 Python 的 HTTP 客户端库. Request支持HTTP连接保持和连接池,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和P ...

  9. Python网络爬虫之requests库Scrapy爬虫比较

    requests库Scrapy爬虫比较 相同点: 都可以进行页面请求和爬取,Python爬虫的两个重要技术路线 两者可用性都好,文档丰富,入门简单. 两者都没有处理JS,提交表单,应对验证码等功能(可 ...

  10. python怎么安装requests库-Python爬虫入门requests库的安装与使用

    Requests库的详细安装过程 对于初学Python爬虫小白,认识和使用requests库是第一步,requests库包含了网页爬取 的常用方法.下面开始安装requests库. 1.检查是否安装过 ...

最新文章

  1. send函数 获得已发送数据长度_蓝牙BLE开发1--起因与回调函数
  2. 优达学城数据分析笔记1--------数据分析过程(python篇)
  3. Java 代码精简之道 | 长文
  4. android-远程图片获取和本地缓存
  5. matlab tf离散,求matlab离散化程序对于一个二阶传函,求其在MATLAB中的离散化程序.抱歉,没办法写清楚传函表达式.我试试:Gp(...
  6. 嵌入式NVR发展浅析
  7. Qt文档阅读笔记-QScopedPointer解析及实例
  8. pandas常用函数(更新中)
  9. android+模拟器上gdb,使用gdb在Android Emulator中进行调试c程序
  10. @广州开发者,华为送来一份说明书——助你轻松应对开发难题
  11. 使用代码更新 UIVersion 属性
  12. celery expires 让celery任务具有时效性
  13. 【FFMEPG】windows下编译ffmpeg2.5——使用VS2013,ARMLINUX,ANDORID编译ffmpeg
  14. 刷网课-踩坑——jsDOM获取不到页面元素节点-iframe标签获取元素节点
  15. 消息中间件之二:kafka详解
  16. 使用 git add -p 整理 patch
  17. jmeter beanshell关于小数参数定义转化
  18. Application Server was not connected before run configuration stop, reason: javax.management.Instanc
  19. MySQL SQL语句练习题
  20. Python 将拼音转换成汉字

热门文章

  1. ksrot php_JS实现PHP ksort方法
  2. Android 15k+面试题
  3. OpenPose笔记——COCO模式关节点标号/骨架标号
  4. 打开的html文件不能放大缩小,IE浏览器网页无法缩放怎么办 解决IE浏览器网页无法缩放的方法...
  5. 手机h5适配不同分辨率的问题
  6. 想要从此告别卡顿崩溃死机情况?设计师云桌面必不可少
  7. excel怎么启用宏_天水市便桥阿姨买擀面皮月入过万!房子、车子都有了,Excel揭秘其中的奥妙........
  8. Vue3生命周期函数
  9. 金仓数据库KingbaseES备份与恢复工具手册(还原与恢复)
  10. linux启动过程中,去除屏幕左上角光标闪烁