requests 库的常用方法

写过Python 爬虫的一定都多多少少用过 requests 这个库,requests 是一个基于 urllib的第三方库,相比起来 requests 非常好用。requests 有中文文档,但是对于刚入门的朋友可能看起来没那么容易。 这一篇文章就尽量说点人话。

1.安装 requests 库

打开cmd命令行,输入命令

pip install requests

2.get 方法

get请求是最常见的请求方式。

这里得到一个Response对象,这里说几个常用的属性。

status_code状态码

状态码是一个int类型。

下面是比较常见的状态码。

200表示请求正常。

301表示重定向,也就是跳转到另一个地址。

403表示请求被拒绝。

404表示请求的地址不存在。

500表示服务器发生了不可预料的错误。

text文本

得到的文本是一个字符串类型,可以发现,里面出现乱码,但是网页上并没有乱码,那是因为这里的编码出了问题。这就得说一下encoding属性。

encoding声明编码

可以看到,乱码已经正常显示了。比较常用的编码规则有utf-8,gbk这两种。那我们怎么知道某个网站的编码规则呢?打开网页源代码,找到charset这个参数的值。

content二进制文件

是一个bytes类型,在抓取图片,视频等文件类型的时候,都是获取其二进制文件,再写入本地。实际上,文本信息也可以通过这种方法获得。

json解析json数据

json属性,可以直接解析json数据为python里面的字典类型,相当于json库里面的json.loads( )方法,使用这个属性的前提是,必须保证获取的是json格式的文件,不然会报错的。

3.post 方法

post请求与get请求的最大不同就是需要传值,可以先构造一个字典,通过data参数来传值。

http://httpbin.org/

这个网站可以收藏一下,这个网站是用来做测试用的,写程序时经常测试用。

总结

这一篇是requests库的入门篇,掌握了这些,已经能写很多简单的爬虫了。在后面我会再写一个进阶篇,说一说requests比较高级的用法,比如说构造headers,会话维持,证书验证,代理设置等知识。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180305G0QG8S00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券