准备工作

requests库不是python自带的库,可以用pip安装。在使用时导入requests即可。

基本用法

GET请求

r = requests.get(url)
print(r.text)

其中,网页返回的内容是json格式的字符串类型,所以可以直接调用json()方法得到字典格式的内容
print(r.json())
此外,如果需要附加额外的信息,可以用params这个参数,示例如下:

data = {'name': 'germey''age': 22
}
url = 'http://httpbin.org/get'
r = requests.get(url, params=data)
print(r.text)

这样子,请求的链接就被自动构造成了'http://httpbin.org/get?age=22&name=germey'
浏览器头也是可以用headers这个参数来实现,代码如下:
r = requests.get(url, headers = headers)

POST请求

实现POST请求类似于GET请求,示例如下:

data = {'name': 'germey', 'age': '22'}
r = requests.post(url, data = data)
print(r.text)

响应

发送请求之后,得到的自然是响应。常用的获取响应信息的方法和属性有下面几个:

r = requests.get(url)
print(r.status_code)
print(r.headers)
print(r.cookies)
print(r.history)

高级用法

Cookies

获取Cookies

r = requests.get(url)
print(r.cookies)

如果需要使用Cookies的话,只需要将Cookies设置到Headers里面,然后发送请求即可,十分简单

会话维持

在requests中,如果直接用get()或post()等方法,相当于打开了不同的会话;如果要维持相同的会话,需要用Session对象,示例如下:

s = requests.Session()
s.get(url)

代理设置

proxies = {"http": url_http,"https": url_https,
}
requests.get(url, proxies = proxies)

SSL证书验证

requests会检查SSL证书,可以使用verify参数来控制是否检查证书,默认为开启。何时需要关掉呢?举个例子。
例如访问12306官网时,会出现证书验证错误的结果,因为12306的证书没有被官方CA机构信任,所以会提示错误SSLError,代码如下:

r = requests.get('http://www.12306.cn', verify=False)
print(r.status_code)

超时设置

r = requests.get(url, timeout=1)

身份认证

r = requests.get(url, auth=(username, password))

总结

requests库比urllib库简便了许多,不过还有些内容我没有完全理解,例如Prepared Request,这些都需要日后的不断练习。

转载于:https://www.cnblogs.com/HackHarry/p/9575366.html

Python爬虫学习笔记(二)——requests库的使用相关推荐

  1. python 爬虫学习入门6 requests库 添加代理proxies等其他信息

    Requests库 通过Requests 库 提供的方法我们可以在请求页面的时候同时添加更多的信息,在urllib库中同时添加代理和User-agent 我在网上找了一些办法但是没有理解就不在这里说了 ...

  2. python基础代码库-python爬虫基础教程:requests库(二)代码实例

    get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...

  3. Python学习笔记:requests库

    Python学习笔记:requests库 利用requests这个功能强大的网络请求库,可以像浏览器一样发送各种HTTP请求来获取网站的数据. 一.运行环境 1.系统版本:Windows 10 2.P ...

  4. Python爬虫学习笔记 -- 爬取糗事百科

    Python爬虫学习笔记 -- 爬取糗事百科 代码存放地址: https://github.com/xyls2011/python/tree/master/qiushibaike 爬取网址:https ...

  5. python爬虫学习笔记3.2-urllib和request练习

    python爬虫学习笔记3.2-urllib和request练习 一.urllib练习 1.百度贴吧案例 需求 分析 手动测试查询流程 观察页面 分析特殊部分 https://tieba.baidu. ...

  6. Python爬虫学习 6 —— 使用bs4库爬取大学排名

    前面学了如何使用beautifulsoup,现在来尝试简单的爬取:中国大学排名 一.准备 查看Robots协议:robots协议 功能描述 输入:大学排名的url链接 输出:大学排名信息(排名,大学名 ...

  7. python爬虫学习笔记 1.9 (Handler处理器 和 自定义Opener)

    python爬虫学习笔记 1.1(通用爬虫和聚焦爬虫) python爬虫学习笔记 1.2 ( HTTP和HTTPS ) python爬虫学习笔记 1.3 str和bytes的区别 python爬虫学习 ...

  8. python爬虫学习笔记 3.9 (了解参考:训练Tesseract)

    python爬虫学习笔记 3.9 (了解参考:训练Tesseract) 参考阅读:训练Tesseract 要使用 Tesseract 的功能,比如后面的示例中训练程序识别字母,要先在系统中设置一 个新 ...

  9. python爬虫学习笔记2模拟登录与数据库

    前言 为了加入学校里面一个技术小组,我接受了写一个爬取学校网站通知公告的任务.这个任务比以前写的爬虫更难的地方在于,需要模拟登录才能获得页面,以及将得到的数据存入数据库. 本文按照日期来记录我完成任务 ...

  10. Python爬虫学习笔记 (2) [初级] 初识 requests + bs4 + re

    更新日期:2021.03.12 本节学习内容 爬取网页(第一页)的源代码:初步了解 requests 的使用. 解析代码:初步了解 BeautifulSoup (bs4) 和 re 的使用. 保存信息 ...

最新文章

  1. 16条很有用的Chrome浏览器命令
  2. Professional WCF 4读书笔记(2)——消息交换模式
  3. ios 获取沙盒文件名_iOS怎么获取并移除沙盒中Documents文件夹下的所有文件
  4. Keyboard驱动中button中断的处理机制
  5. 【实验】如何实现远程同一网段互通?
  6. 通信模式与网络协议之间的对应关系
  7. python rowspan_Python tkinter rowspan未正确调整元素大小
  8. java 课后习题 月历打印
  9. 343. 整数拆分(JavaScript)
  10. mysql安装了老版本_Windows 环境下 MySQL 5.7 安装配置指南
  11. keil编译运行错误,缺少error:#5:#includecore_cm3.h_过路老熊_新浪博客
  12. gcc 中的__attribute__ ((packed)) gcc移植,内存对齐.结构体对齐-转
  13. jsf标签_JSF Facelet标签示例教程
  14. lintcode:1-10题
  15. WIN XP自动关机方法
  16. 软件研发的6sigma案例解析
  17. java halt_Java Runtime halt()方法
  18. 介绍两个用于生成二维码的js库
  19. 一个优秀的团队的重要性
  20. scrcpy-将Android手机屏幕实时投射到电脑

热门文章

  1. ZeroMQZeroMQ研究与应用分析
  2. Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPP-net)
  3. HTML图片热点及表单
  4. 18._6索引器在接口中的使用
  5. C# sqlDataReader区别Dataset
  6. ExtJs学习笔记(10)_Window窗口的Border布局
  7. 窗体传值,子窗体,父窗体,反射,reflection,windows,组策略,gpedit.msc,动态创建窗体,谢谢...
  8. bzoj2539: [Ctsc2000]丘比特的烦恼
  9. MySql 性能调优策略
  10. 【知识碎片】JavaScript篇