爬虫入门学习---制作一个简易的网页搜索器(详细)

目录

UA检测:

UA伪装 :

方法:

User-Agent:

爬虫编写:

 完整代码如下:


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, '保存成功!!!')

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络爬虫 百科名片 网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。 目录 概述 爬虫技术研究综述 网页搜索策略 网页分析算法 补充 展开 编辑本段概述   引言   随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎(Search Engine),例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:   (1) 不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。   (2) 通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务资源与无限的网络数据资源之间的矛盾将进一步加深。   (3) 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频/视频多媒体等不同数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。   (4) 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。   为了解决上述问题,定向抓取相关网页资源的聚焦爬虫应运而生。聚焦爬虫是一个自动下载网页的程序,它根据既定的抓取目标,有选择的访问万维网上的网页与相关的链接,获取所需要的信息。与通用爬虫(general?purpose web crawler)不同,聚焦爬虫并不追求大的覆盖,而将目标定为抓取与某一特定主题内容相关的网页,为面向主题的用户查询准备数据资源。   1 聚焦爬虫工作原理及关键技术概述   网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。   相对于通用网络爬虫,聚焦爬虫还需要解决三个主要问题:   (1) 对抓取目标的描述或定义;   (2) 对网页或数据的分析与过滤;   (3) 对URL的搜索策略。   抓取目标的描述和定义是决定网页分析算法与URL搜索策略如何制订的基础。而网页分析算法和候选URL排序算法是决定搜索引擎所提供的服务形式和爬虫网页抓取行为的关键所在。这两个部分的算法又是紧密相关的。   2 抓取目标描述   现有聚焦爬虫对抓取目标的描述可分为基于目标网页特征、基于目标数据模式和基于领域概念3种。?   基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。根据种子样本获取方式可分为:   (1) 预先给定的初始抓取种子样本;   (2) 预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;   (3) 通过用户行为确定的抓取目标样例,分为:   a) 用户浏览过程中显示标注的抓取样本;   b) 通过用户日志挖掘得到访问模式及相关样本。   其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。   现有的聚焦爬虫对抓取目标的描述或定义可以分为基于目标网页特征,基于目标数据模式和基于领域概念三种。   基于目标网页特征的爬虫所抓取、存储并索引的对象一般为网站或网页。具体的方法根据种子样本的获取方式可以分为:(1)预先给定的初始抓取种子样本;(2)预先给定的网页分类目录和与分类目录对应的种子样本,如Yahoo!分类结构等;(3)通过用户行为确定的抓取目标样例。其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值