Python爬虫学习笔记(二)——requests库的使用
准备工作
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库的使用相关推荐
- python 爬虫学习入门6 requests库 添加代理proxies等其他信息
Requests库 通过Requests 库 提供的方法我们可以在请求页面的时候同时添加更多的信息,在urllib库中同时添加代理和User-agent 我在网上找了一些办法但是没有理解就不在这里说了 ...
- python基础代码库-python爬虫基础教程:requests库(二)代码实例
get请求 简单使用 import requests ''' 想要学习Python?Python学习交流群:973783996满足你的需求,资料都已经上传群文件,可以自行下载! ''' respons ...
- Python学习笔记:requests库
Python学习笔记:requests库 利用requests这个功能强大的网络请求库,可以像浏览器一样发送各种HTTP请求来获取网站的数据. 一.运行环境 1.系统版本:Windows 10 2.P ...
- Python爬虫学习笔记 -- 爬取糗事百科
Python爬虫学习笔记 -- 爬取糗事百科 代码存放地址: https://github.com/xyls2011/python/tree/master/qiushibaike 爬取网址:https ...
- python爬虫学习笔记3.2-urllib和request练习
python爬虫学习笔记3.2-urllib和request练习 一.urllib练习 1.百度贴吧案例 需求 分析 手动测试查询流程 观察页面 分析特殊部分 https://tieba.baidu. ...
- Python爬虫学习 6 —— 使用bs4库爬取大学排名
前面学了如何使用beautifulsoup,现在来尝试简单的爬取:中国大学排名 一.准备 查看Robots协议:robots协议 功能描述 输入:大学排名的url链接 输出:大学排名信息(排名,大学名 ...
- python爬虫学习笔记 1.9 (Handler处理器 和 自定义Opener)
python爬虫学习笔记 1.1(通用爬虫和聚焦爬虫) python爬虫学习笔记 1.2 ( HTTP和HTTPS ) python爬虫学习笔记 1.3 str和bytes的区别 python爬虫学习 ...
- python爬虫学习笔记 3.9 (了解参考:训练Tesseract)
python爬虫学习笔记 3.9 (了解参考:训练Tesseract) 参考阅读:训练Tesseract 要使用 Tesseract 的功能,比如后面的示例中训练程序识别字母,要先在系统中设置一 个新 ...
- python爬虫学习笔记2模拟登录与数据库
前言 为了加入学校里面一个技术小组,我接受了写一个爬取学校网站通知公告的任务.这个任务比以前写的爬虫更难的地方在于,需要模拟登录才能获得页面,以及将得到的数据存入数据库. 本文按照日期来记录我完成任务 ...
- Python爬虫学习笔记 (2) [初级] 初识 requests + bs4 + re
更新日期:2021.03.12 本节学习内容 爬取网页(第一页)的源代码:初步了解 requests 的使用. 解析代码:初步了解 BeautifulSoup (bs4) 和 re 的使用. 保存信息 ...
最新文章
- 16条很有用的Chrome浏览器命令
- Professional WCF 4读书笔记(2)——消息交换模式
- ios 获取沙盒文件名_iOS怎么获取并移除沙盒中Documents文件夹下的所有文件
- Keyboard驱动中button中断的处理机制
- 【实验】如何实现远程同一网段互通?
- 通信模式与网络协议之间的对应关系
- python rowspan_Python tkinter rowspan未正确调整元素大小
- java 课后习题 月历打印
- 343. 整数拆分(JavaScript)
- mysql安装了老版本_Windows 环境下 MySQL 5.7 安装配置指南
- keil编译运行错误,缺少error:#5:#includecore_cm3.h_过路老熊_新浪博客
- gcc 中的__attribute__ ((packed)) gcc移植,内存对齐.结构体对齐-转
- jsf标签_JSF Facelet标签示例教程
- lintcode:1-10题
- WIN XP自动关机方法
- 软件研发的6sigma案例解析
- java halt_Java Runtime halt()方法
- 介绍两个用于生成二维码的js库
- 一个优秀的团队的重要性
- scrcpy-将Android手机屏幕实时投射到电脑
热门文章
- ZeroMQZeroMQ研究与应用分析
- Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPP-net)
- HTML图片热点及表单
- 18._6索引器在接口中的使用
- C# sqlDataReader区别Dataset
- ExtJs学习笔记(10)_Window窗口的Border布局
- 窗体传值,子窗体,父窗体,反射,reflection,windows,组策略,gpedit.msc,动态创建窗体,谢谢...
- bzoj2539: [Ctsc2000]丘比特的烦恼
- MySql 性能调优策略
- 【知识碎片】JavaScript篇