UA伪装+灵活采集
#UA:User-Agent(请求载体的身份标识)
#UA检测:门户网站的服务器会检测对应请求的载体身份标识,如果检测到请求的载体身份标识为某一款浏览器,
#说明该请求是一个正常的请求。但是,如果检测到请求的载体身份标识不是基于某一款浏览器的,则表示该请求
#为不正常的请求(爬虫),则服务器端就很有可能拒绝该次请求。
#UA伪装:让爬虫对应的请求载体身份标识伪装成某一款浏览器
#(就是在pycharm运行,伪装成headers所指的浏览器版本,伪装成浏览器进行请求)
import requests
if __name__=='__main__':
#UA伪装(使用字典进行封装)
#谷歌浏览器-检查-network-随便一个文件-header-Request Headers
headers ={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'
}
#之前的四部框架
#1,指定url
url = 'https://www.sogou.com/web?query=%E6%89%A7%E9%AD%94' #本来是搜'执魔',复制粘贴后是乱码
url_1 = 'https://www.sogou.com/web?query=执魔' #换成'执魔',也是可行的
url_2 = 'https://www.sogou.com/web' #'灵活采集',将query去掉,后期再根据需求添加
#'灵活采集'关键,param'参数',input参数,即可以达到想'灵活'
kw = input('输入想爬取的词条:') #kw来顶替url中的query,进行搜索
param ={
'query':kw
}
#2,发起请求
response = requests.get(url = url_2,params = param,headers=headers) #param是顶替需要换取的参数,heaters是UA伪装
#3,获取响应数据
res_text = response.text
print(res_text)
#4,进行数据存储
#因为灵活,所以文件名字也需要灵活一些
filename = kw+'.html'
with open(filename,'w',encoding='utf-8') as f:
f.write(res_text)
print('爬取完成!')