python爬虫系列(2)- request库基本使用

2019-07-30  本文已影响0人  永恒君的百宝箱

记录requests库中的get使用方法以及使用样板

介绍

requests 是一个功能强大、简单易用的 HTTP 请求库,详细的就不多介绍了,总之是大名鼎鼎,请求网页最常用的一个库。

官方文档网址:http://cn.python-requests.org/zh_CN/latest/

其中get方法用的最为常用,本文着重记录 requests 中爬虫常用的get方法,以及一些使用样板。

使用

1、get方法的常用请求参数:url,headers,proxies

rec = requests.get(url=url)
rec = requests.get(url=url,headers=headers,proxies=proxies)

url为请求的网址,必填参数
headers,proxies两个参数为可选,主要是用来反爬虫用

2、请求后生成rec的 Response 对象,该对象的主要方法有:

* rec.url:返回请求网站的 URL
* rec.status_code:返回响应的状态码,正常相应为200,
* rec.content:返回 bytes 类型的响应体
* rec.text:返回 str 类型的响应体,相当于 response.content.decode('utf-8')
* rec.json():返回 dict 类型的响应体,相当于 json.loads(response.text)
requests-Response方法1.png requests-Response方法2.png

注意:.text和.content的区别

text 返回的是unicode 型的数据,一般是在网页的header中定义的编码形式。
content返回的是bytes,二级制型的数据。

一般来说 .text直接用比较方便,返回的是字符串,但是有时候会解析不正常导致,返回的是一堆乱码这时用.content.decode('utf-8')就可以使其显示正常。

也就是说你如果想要提取文本就用text,但是如果你想要提取图片、文件,就要用到content。

3、使用样板

上一篇文章:python爬虫系列(1)- 概述 里面的实例就是最最常用的requests的get方法

import requests

url = 'http://www.yhjbox.com'
data = requests.get(url) #请求网页

如果要加上headers、proxies参数,使用样板如下:

import requests

url="http://www.yhjbox.com"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1"
           "Cookie": "dafbaidaodf"}#设置请求网页时候的请求头
proxies = {"http": "http://1.197.203.57:9999"} #设置代理ip

rec = requests.get(url=url,headers=headers,proxies=proxies)
print(data.text)#打印网页源代码,字符串,正常解析
print(data.content)#打印网页源代码,二进制形式

这里也说明一下,样板的作用只要更换自己的url、headers、proxies,其他的都可以直接拿来用。

后面会通过一些实例来说明这些参数的使用场景,大家记得这个通用的框架就好了。

上一篇下一篇

猜你喜欢

热点阅读