记录requests一些get使用方法以及使用样板
介绍
requests 是一个功能强大、简单易用的 HTTP 请求库,详细的就不多介绍了,总之是大名鼎鼎,请求网页最常用的一个库。
本文着重记录 requests 中爬虫常用的get方法,以及一些使用样板。
使用
1、get方法的常用请求参数,headers,proxies
rec = requests.get(url=url,headers=headers,proxies=proxies)
#get请求中,带入headers,proxies两个参数
2、请求后生成rec的 Response 对象,该对象的主要方法有:
* rec.url:返回请求网站的 URL
* rec.status_code:返回响应的状态码
* rec.content:返回 bytes 类型的响应体
* rec.text:返回 str 类型的响应体,相当于 response.content.decode('utf-8')
* rec.json():返回 dict 类型的响应体,相当于 json.loads(response.text)
.content和.text的区别
text 返回的是unicode 型的数据,一般是在网页的header中定义的编码形式。
content返回的是bytes,二级制型的数据。
一般来说 .text直接用比较方便,返回的是字符串,但是有时候会解析不正常导致,返回的是一堆乱码这时用.content.decode('utf-8')就可以使其显示正常。
也就是说你如果想要提取文本就用text,但是如果你想要提取图片、文件,就要用到content。
3、使用样板
import requests
from fake_useragent import UserAgent#导入fake_useragent,随机生成useragent
url="http://www.yhjbox.com"
ua=UserAgent()
headers = {"User-Agent": ua.random,#随机生成User-Agent
"Cookie": "dafbaidaodf"}#带入cookie
proxies = {"http": "http://1.197.203.57:9999"} #代理ip
rec = requests.get(url=url,headers=headers,proxies=proxies)
print(data.text)#打印网页源代码,字符串,正常解析
print(data.content)#打印网页源代码,二进制形式
网友评论