反爬机制
UA:User-Agent(请求载体的身份标识)
UA检测
服务器会检测对应请求的载体身份标识
如果检测到请求载体的身份标识是某一个浏览器,说明该请求是一个正常请求
如果检测到请求的载体身份标识不是浏览器则标识,该请求为不正常的请求,服务器会拒绝此次请求
UA伪装:让爬虫伪装成浏览器
# -*- coding: utf-8 -*-
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/76.0.3809.87 Safari/537.36'
}
url="https://www.sogou.com/web"
#处理url携带的参数:封装到字典中
kw = input('enter a word:')
param={
"query":kw
}
#url:url params :封装成字典的参数
#对指定url发起请求,对应的url是携带参数的,并且请求过程中处理了参数
response=requests.get(url=url,params=param,headers=headers)
#接受返回数据
page_text=response.text
#存储
fileName = kw+'.html'
with open(fileName,'w',encoding='utf-8') as fp:
fp.write(page_text)
print(fileName,"保存成功")