写过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,会话维持,证书验证,代理设置等知识。
领取专属 10元无门槛券
私享最新 技术干货