首先我们讲一下requests模块编码流程(4步):-指定URL -发起请求Get或Post -获取响应数据 -存储
其次我们介绍一下UA(User-Agent)检测和伪装。
1.UA检测:门户网站的服务器会检测对应请求的载体身份标识,如果检测到请求的载体的身份标识为某一浏览器,说明该请求 是一个正常的请求,但是,如果检测到请求的载体身份标识不是基于某一款浏览器的,则表示该请求为不正常的请求(爬 虫),则服务器端就很有可能拒绝该次请求。
2.UA伪装:让爬虫对应的请求载体身份标识伪装成某一款浏览器
接下来就是我们实战的代码部分:
import requests
if __name__=='__main__':
#UA伪装:将对应的User-Agent封装到一个字典中
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36'
}
url = 'https://www.sogou.com/web'
#动态的 需要对url携带的参数:封装到字典中
kw = input('enter a word:')
params = {
'query':kw
}
response = requests.get(url=url,params=params,headers=headers)
para_text = response.text
fileName = kw +'.html'
with open(fileName,'w',encoding='utf-8') as fp:
fp.write(para_text)
print(fileName,'保存成功!!')
简单介绍一下with open (文件存储位置,文件读取格式,文件编码格式 ) as fp:语法