碎言博客

Python 采集数据三步曲之[Requests开源协议的HTTP 库]

J.sky 2017-09-02 09:01:48 Python基础

Requests 是以 PEP 20 的箴言为中心开发的

Requests install

pip3 install requests

下载安装

git clone git://github.com/kennethreitz/requests.git
cd requests
python setup.py install

一分钟上手

import requests
r = requests.get('http://www.baidu.com')
print(r.status_code)# 返回状态码
r.encoding = 'utf-8'# 设置编码
print(r.text) #返回html代码

如果不算import及打印状态码,三行搞定网页html代码的解析下载,简单不?只要会了这个,采集数据解析html就易如翻掌:)

带参数的请求

r = requests.get('http://dict.baidu.com/s', params={'wd':'python'})
r.encoding = 'utf-8'# 设置编码
print(r.text) #返回html代码
  • r.status_code #响应状态码
  • r.raw #返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read() 读取
  • r.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
  • r.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
  • r.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
  • r.json() #Requests中内置的JSON解码器
  • r.raise_for_status() #失败请求(非200响应)抛出异常

这只是一个简单的入门引导

Requests 是一个简单强大的 HTTP 库,是我用过的最简单实用的 python 库,喜欢上她不会有任何理由,绝对是数据采集,响应分析, pythoner 居家旅游必备之良品。

一些Requests的参考

本文源码下载:

发现错误?想参与编辑? 在 GitHub 上编辑此页!

如果您有什么问题,欢迎加入Python/Javascript学习讨论群询问

Python/Javascript学习QQ群号:217840699