【Python爬虫】简易网页采集器
需求
爬取搜狗指定词条对应的搜索结果页面。
分析
四大步:指定url —> 发起请求 —> 获取响应数据 —> 持久化存储
我搜索的词条为“哈利波特”,其url为 “https://www.sogou.com/web?query=哈利波特”(这是简洁处理过的,实际后面的一些参数省略了,不影响)。但为了能实现搜索不同的词条,我设置了动态参数kw,将其分装到字典中。当我们使用get方法发出请求时,请求所对应的url的参数就可以用params赋值。
代码
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/72.0.3626.119 Safari/537.36'}
url = 'https://www.sogou.com/web'
# 处理url携带的参数:封装到字典中
kw = input('enter a word:')
param = { 'query': kw}
# 对指定的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('采集完毕!!!')
还没有评论,来说两句吧...