记录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,其他的都可以直接拿来用。
后面会通过一些实例来说明这些参数的使用场景,大家记得这个通用的框架就好了。
网友评论