网页文章采集器(简易网页采集器今天来做一个简单的网页(图) )

优采云 发布时间: 2021-10-22 05:26

  网页文章采集器(简易网页采集器今天来做一个简单的网页(图)

)

  简单网页采集器

  今天来做一个简单的网页采集器,就是你输入你要查找的信息,让代码返回你要查找的信息对应的页面。

  1. 理论知识 UA:User-Agent(请求载体的身份)反爬虫机制-UA检测:门户服务器网站会检测相应请求的载体身份,如果请求检测到携带者身份是某个浏览器,说明该请求是正常请求。但是,如果检测到请求的运营商身份不是基于某个浏览器,则说明该请求为异常请求(爬虫),服务器很可能拒绝该请求。反爬虫策略-UA伪装:让爬虫对应的请求载体身份伪装成某个浏览器

  如何获取我们浏览器的 User-Agent?

  例如,我使用 Firefox 浏览器:

  使用F12打开开发者工具,用浏览器随意开始搜索。比如我搜索华晨宇,点击网络(有的浏览器是网络),随机选择一个请求,有你浏览器的User-Agent。

  如图:

  

  2. 实践带来真知

  其实加一个UA伪装只是公式中的一个步骤,所以不要把UA伪装想得太难。

  """

TOPIC: 简易网页采集器

author: Blue

time: 2020-09-02

"""

import requests

if __name__ == "__main__":

# UA伪装: 将对应的User-Agent封装到一个字典中

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0'

}

# step1: 指定url

url = 'https://www.sogou.com/web?'

# 为了使采集器可以动态采集——处理url所携带的参数: 封装到字典中

keyword = input("请输入关键词: ")

param = {

'query': keyword

}

# step2: 对指定的url发起请求,对应的url是带参数的并且请求过程中处理了参数

response = requests.get(url, params=param, headers=headers)

# step3: 获取响应数据, text返回的是字符串形式的响应数据

page_text = response.text

filename = "./html/" + keyword + '.html'

with open(filename, 'w', encoding='utf-8') as fp:

fp.write(page_text)

print(filename, '保存成功!!')

  这是未执行的代码。比如我比较喜欢华晨宇,所以在代码运行之后,输入华晨宇三个字:

  

  生成的网页如下所示:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线