requests - 简易网页采集器
- 需求:爬取搜狗指定词条对应的搜索结果页面
- 思路分析:
- 打开搜狗搜索,输入关键词:爬虫,打开网页搜狗搜索-爬虫,这个页面就是需要采集的内容了。
- 步骤:
- 1、导入模块
- 2、指定url
- 3、发送请求,获取数据
- 4、保存数据
首先做一下UA伪装(将爬虫装成浏览器),打开网页,右键检查,找到network,随便点击一个加载的内容,在headers中找到user-agent,复制一下,封装到字典里。
观察当前页面的url,发现是由域名+对应请求的参数query构成的。将query参数封装到字典中。
携带参数发起请求,获取数据之后,保存文件,完毕!
// An highlighted block
#1.导入模块
import requests
#UA伪装
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'
}
#2.指定url
#url = 'https://www.sogou.com/web?query=%E7%88%AC%E8%99%AB'后面的query是参数,将它封装到字典中
keyword = input("请输入搜索关键词:")
param = {
'query': 'keyword'
}
url = 'https://www.sogou.com'
#3.携带参数发起请求,获得数据
response = requests.get(url, params=param, headers=headers)
#print(response.text) 看一下是否有数据
#4.保存文件
filename = keyword + '.html' #文件名命名
with open(filename, 'w', encoding='utf-8') as fp:
fp.write(response.text)
print(keyword + "保存成功") #给一个输出响应