前言
requests是基于urlib3的用于发起http请求的python第三方库,使用方便,响应快速。
一、安装
打开cmd输入以下命令
pip install requests
二、使用方法
1.引入库
import requests
2.发起请求
构造一个向服务器请求资源的requests对象,返回一个包含服务器资源的response对象
response=requests.get(url, params=None, **kwargs)
get()
常用参数 了解这几个参数对于一般爬虫基本够用了
- url: 请求的网址,字符串类型(这个必须有)
- headers中的User-Agent: 请求头,表示是谁在对网站发起请求,字典类型(一般都要有,非常重要)(应对网站反爬)
- params: 请求时携带的参数,例如请求多少数据,请求的关键词等,字典类型(有时需要携带参数,根据具体需求定)
偶尔用的参数
- cookies: 用于登录操作
- refer: 应对网站防盗链(应对网站反爬)
- proxies: 代理(可以防止ip被封)(最好不用)
post()也可以发起请求:
requests.post(url, data=None, json=None, **kwargs)
post和get用法差不多,也是对http发起请求的方法。根据经验,一般人浏览网页时点进去的页面都是get方法进行请求的,而浏览器自行加载的那些请求有时是get有时是post,get使用频率较高。具体情况具体分析。
3.获取数据
response.text
response.content
response.json()
- response.text: 返回文本类型数据(网页源码)
- response.content: 返回二进制数据(适用于图片,视频等)
- response.json(): 返回dict数据(适用于json格式数据)
4.其他
response.raise_for_status#返回http请求的状态,值为200是表示请求成功
response.encoding=response.apparent_encoding#让乱码安照本来内容的编码方式编码
三、简单示例
代码如下(示例):
import requests
url='https://blog.csdn.net/'#指定一个要爬取的页面
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.50'}#伪装为浏览器
response=requests.get(url=url,headers=headers)
print(response.text)#输出结果正常!
结果如下: