1.安装:
在你的终端中运行这个简单命令即可:
pip install requests
2.常用代码:
import requests
r = requests.get(url, params=None, **kwargs)
##############################################
# ∙ url : 拟获取页面的url链接
# ∙ params : url中的额外参数,字典或字节流格式,作为参数增加到url中
# ∙ **kwargs: 12个控制访问的参数:
# data
# json
# headers
# cookies
# auth
# files
# timeout
# proxies
# allow_redirects
# stream
# verify
# cert
##############################################
1. params
参数用法实例:
import requests
base_url = 'https://www.guokr.com/apis/minisite/article.json?'
data = { 'retrieve_type': "by_subject",
'limit': "20",
'offset': "38"
}
r = requests.get(base_url, params=data)
r.url
# 'https://www.guokr.com/apis/minisite/article.json?retrieve_type=by_subject&limit=20&offset=38'
2. 利用cookies模拟登陆:
import requests
headers = {'Cookie': # 你的登录过后的浏览器cookies
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
}
url = ' ' # 添加拟爬取地址
r = requests.get(url, headers=headers).text
print(r)
3. 图片下载:
import requests
r = requests.get('https://www.baidu.com/img/bd_logo1.png', headers=headers)
# 这个是直接获取字节码,这个是要保存的文件
print(r.content)
# 这个是获取解码后的返回内容,这个是乱码
print(r.text)
with open('download.png', 'wb') as f: # 注意写的方式是以二进制方式写入
f.write(r.content)
Response对象的属性:
r.status_code #HTTP请求的返回状态,200表示连接成功,404表示失败
r.text #文本
r.encoding #编码,从HTTP header中猜测的响应内容编码方式
r.apparent_encoding # 从内容中分析出的响应内容编码方式(备选编码方式)
r.content #二进制内容
【 Requests标准模板 】
import requests
url="******"
try:
r=requests.get(url)
r.raise_for_status() #如果不是200,产生异常requests.HTTPError
r.encoding=r.apparent_encoding
print(r.text)
except:
print("爬取失败")
r.raise_for_status()
在方法内部判断 r.status_code
是否等于200,不需要增加额外的if语句,该语句便于利用try‐except进行异常处理。