Python爬虫之(六)requests库的用法
介绍
对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助。入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取。那么这一节来简单介绍一下 requests 库的基本用法
安装
pip install requests
基本请求
req = requests.get("http://www.baidu.com")
req = requests.post("http://www.baidu.com")
req = requests.put("http://www.baidu.com")
req = requests.delete("http://www.baidu.com")
req = requests.head("http://www.baidu.com")
req = requests.options("http://www.baidu.com")
get请求
参数是字典,我们也可以传递json类型的参数:
import requestsurl = "http://www.baidu.com/s"
params = {'wd': 'python'}
response = requests.get(url, params=params)
print(response.url)
response.encoding = 'utf-8'
html = response.text
print(html)
post 请求
参数是字典,我们也可以传递json类型的参数:
url = "http://www.xxx.cn/index/login/login.html"
formdata = {"user": "xxx","password": "****"
}
response = requests.post(url, data=formdata)
response.encoding = 'utf-8'
html = response.text
print(html)
自定义请求头部
伪装请求头部是采集时经常用的,我们可以用这个方法来隐藏:
headers = {'User-Agent': 'python'}
r = requests.get('http://www.zhidaow.com', headers = headers)
print(r.request.headers['User-Agent'])
设置超时时间
可以通过timeout属性设置超时时间,一旦超过这个时间还没获得响应内容,就会提示错误
requests.get('http://github.com', timeout=0.001)
代理访问
采集时为避免被封IP,经常会使用代理。requests也有相应的proxies属性
import requestsproxies = {"http": "http://10.10.1.10:3128","https": "https://10.10.1.10:1080",
}requests.get("http://www.zhidaow.com", proxies=proxies)
如果代理需要账户和密码,则需这样proxies = {"http": "http://user:pass@10.10.1.10:3128/",
}
session自动保存cookies
seesion的意思是保持一个会话,比如 登陆后继续操作(记录身份信息) 而requests是单次请求的请求,身份信息不会被记录
# 创建一个session对象
s = requests.Session()
# 用session对象发出get请求,设置cookies
s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
ssl验证
# 禁用安全请求警告
requests.packages.urllib3.disable_warnings()resp = requests.get(url, verify=False, headers=headers)
获取响应信息
代码 | 含义 |
---|---|
resp.json() | 获取响应内容(以json字符串) |
resp.text | 获取响应内容 (以字符串) |
resp.content | 获取响应内容(以字节的方式) |
resp.headers | 获取响应头内容 |
resp.url | 获取访问地址 |
resp.encoding | 获取网页编码 |
resp.request.headers | 请求头内容 |
resp.cookie | 获取cookie |
Python爬虫之(六)requests库的用法相关推荐
- Python爬虫利器一Requests库的用法
之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来简单介 ...
- 从零开始写Python爬虫---1.1 requests库的安装与使用
什么是爬虫? 爬虫本质上是模拟人浏览信息的过程,只不过他通过计算机来达到快速抓取筛选信息的目的.所以我们想要写一个爬虫,最基本的就是要将我们需要抓取信息的网页原原本本的抓取下来.这个时候就要用到req ...
- PYTHON 爬虫笔记七:Selenium库基础用法
知识点一:Selenium库详解及其基本使用 什么是Selenium selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium ...
- Python 爬虫进阶六之多进程的用法
python 中的多线程其实并不是真正的多线程,并不能做到充分利用多核 CPU 资源. 如果想要充分利用,在 python 中大部分情况需要使用多进程,那么这个包就叫做 multiprocessing ...
- Python爬虫开发:requests库的使用--session的使用
- Python爬虫开发:requests库的使用--https协议的问题解决
- Python爬虫开发:requests库的使用--ip代理参数的设置
- Python爬虫开发:requests库的使用--发送带参数post请求
- Python爬虫开发:requests库的使用--发送带参数get请求
- Python爬虫十六式 - 第三式:Requests的用法
Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽 Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...
最新文章
- itertools中常用的工具(chain,islice)
- Coding Interview Guide--打印两个有序链表的公共部分
- A good memory allocator is everything that I need
- 矩阵求逆c语言实现_[V-SLAM] Bundle Adjustment 实现
- idea重写接口没有@override_乐字节|Java8核心实战-接口默认方法
- Hierarchical clustering
- JS控制浏览器捕捉键盘
- 浅谈,盘点历史上有哪些著名的电脑病毒,80%的人都不知道!
- server2003安装python3.4.4
- 微服务中的Spring Cloud和Spring Cloud Alibaba分别有哪些组件和作用,众多组件中如何做技术选型?
- 电信大型服务器机房_香港十大知名服务器机房汇总详细介绍
- QQ邮箱客户端授权码设置
- 别用cmd了,配置一个比Mac终端还美的Windows Terminal——详细教程
- 无缘无故,Oralce使用normal模式登录用户失败
- js中Object.freeze()函数的作用
- Java高并发程序设计(三)——JDK并发包(一)
- 强化学习3:蒙特卡洛和时序差分
- 外语配音软件“布谷鸟配音“和ffmepg转换软件的使用以及SYD_Calculator提取文件到C语言
- 浏览器野史 UserAgent 列传(下)
- 半导体传感器的零点漂移