目录
UA检测:
门户网站的服务器会检测对应请求的载体身份标识,如果检测到请求的载体身份标识为某一款浏览器,说明该请求是一个正常的请求,但是,如果检测到请求的载体身份标识不是基于某一款浏览器的,则表示该请求不是一个正常的请求,则服务器端很有可能会拒绝本次请求
UA伪装 :
让爬虫对应的身份标识伪装成某一款浏览器
方法:
将对应的User-Agent封装到字典中
代码如下:
headers = {
'User-Agent': '(相关浏览器的User-Agent)'
}
然后在使用requests,get()时,要使用headers参数
如下:
response = requests.get(url=url, headers=headers)
User-Agent:
UserAgent分析和查询 浏览器UA分析 UA查看 (ip138.com)
爬虫编写:
1.指定url;
2.发起请求
由于这是一个网页搜索器,每次搜索时的参数不同,所以需要处理一下参数
将需要搜索的参数封装在字典中,再复制给一个变量
如下:
kw = input('输入一个关键字:')
param = {
'query': kw
}
3.获取响应数据
这时需要使用get中的第二个参数,params
如下:
response = requests.get(url=url, params=param)
4.持久化存储
用一个.html文件来存储(以写的形式打开)
如下:
filename = kw + '.html'
with open(filename, 'w', encoding='utf-8') as fp:
fp.write(page_text)
完整代码如下:
import requests
# UA伪装:将对应的User-Agent封装到字典中
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}
url = 'https://www.sogou.com/web'
# 处理url所带的参数 将参数封装到字典中
kw = input('输入一个关键字:')
param = {
'query': kw
}
# 对指定的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, '保存成功!!!')