如何高效实现搜索引擎爬虫进行数据挖掘-搜索引擎爬虫(SERP)集成测试与分享

本文介绍了一种高效实现搜索引擎爬虫的方法,重点讲解了亮数据Bright Data SERP采集方案,包括其工作原理、基本使用、代理中间件和mongodb存储管道的编写。亮数据提供了解析主流搜索引擎数据的便利,简化了大规模爬虫的开发工作,但成本相对较高。
摘要由CSDN通过智能技术生成

身处大数据时代中,我们面对海量的互联网数据,如何自动高效地获取感兴趣的信息并为我们所用是一个非常重要的问题,以下就针对这个重要的搜索引擎爬虫问题来做一个技术分享。

什么是SERP和搜索引擎爬虫:搜索引擎会根据特定的的策略,运用特定的计算机程序搜集互联网上的公开信息,再对收集到信息进行组织和处理后展示给用户,处理后的公开展示的数据就是搜索引擎结果数据即SERP(Search Engine Results Page)。搜索引擎爬虫是基于搜索引擎已经处理过的SERP数据二次收集,进行特定业务分析。

1.搜索引擎爬虫突出的两个问题:

  • 主流搜索引擎都有严格的风控策略,如Google验证码,解决难度极高,技术上需要特殊处理
  • 会拒绝访问密集的请求,技术上需要特殊处理,同时需要大量IP池资源

2.传统搜索引擎采集方案:

传统的爬虫方案是使用不同地区的IP构建代理IP池或者购买第三方代理IP池,然后开发主流搜索引擎采集程序调用代理IP池进行采集,大规模采集的话需要定制化开发处理平台的风控策略,如封IP、指纹识别、验证码等。当然优点是简单直接、成本低、可定制化爬虫需求,适合小规模、简单数据分析场景。

但是在规模化爬虫场景下弊端也非常明显:

  • 工作量大,搜索引擎众多且每个搜索引擎有多个板块,每个板块都需要开发采集程序,写大量解析规则
  • 自建IP池或者低质量代理IP,稳定性和数量不能很好保障,在反爬虫机制下IP资源会持续消耗,从而影响速度和数据的准确性
  • 需要高级工程师开发相关风控模块,主流搜索引擎都有严格的风控策略,如Google验证码,解决难度极高

3.亮数据Bright Data SERP采集方案

最近SERP数据采集使用的是亮数据Bright Data研发的针对搜索引擎的采集产品,功能和亮点总结如下:

  • 支持采集市面上主流的搜索引擎数据:Google、Bing、Yandex、DuckDuckGo等
  • 上手方便,可自定义搜索参数,如页码、语言、定位、搜索类型等
  • 支持搜索引擎常用板块的自动解析,无需编写大量采集程序和解析规则,支持采集不同板块的数据,如:关键字搜索、图片、购物、新闻、酒店、视频等
  • 集成亮数据Bright Data全球网络代理,无需单独购买IP(就速度和结果来看,号称超7200万合法合规IP覆盖195个国家还是名副其实的)
  • 集成自家研发的解锁技术,可以解决搜索引擎风控问题,摆脱网站反爬取限制,无需单独编写反爬虫程序模块

缺点

  • 采集成本相比传统代理较高(个人爬着玩的就不划算了)
  • 受限于产品的解析模板,复杂型定制化采集较难实现,可以考虑使用亮数据Bright Data 数据采集器(web sraper IDE)进行自定义采集

简言之,相较于传统搜索引擎采集方案,亮数据Bright Data的SERP产品更为智能,可以便捷高效的获取搜索引擎数据,虽然成本比传统代理高,但人工成本和时间成本却大大降低了。有大规模采集需求的推荐一试。

4.亮数据Bright Data SERP工作原理

  • 客户端程序将搜索的url传给SERP API
  • SERP系统根据传入的url,自动识别请求的搜索引擎,并通过代理、解锁器等技术解析和获取目标搜索引擎页面的数据
  • SERP系统将解析好的数据以HTML/JSON格式传回给客户端

从获取数据的整个过程可以看出,客户端只关心获取哪些业务数据,无需操心任何风控,全权交由亮数据Bright Data智能系统解决,极为方便。

5.亮数据Bright Data SERP基本使用

注册Bright Data账号直接官网登录,不需要下载。在控制面板代理通道创建搜索引擎爬虫通道,添加IP白名单,之后就可以指令模拟。(很简单,上去大概看一下就能明白)

在指令模拟页面我们可以很方便的进行SERP API调试,获取我们需要的API参数和效果预览。可以看到当我们设置参数时,底下会自动生成多种语言的API代码,还可以尝试请求获取实时数据,方便我们将SERP API集成到我们的应用程序。

6.亮数据Bright Data SERP采集测试

接下来我将用一个采集案例来展示SERP完整的使用过程以及如何将SERP API集成到我们的采集程序。该案例是:使用Python Scrapy集成SERP API采集Google购物板块电商商品数据,并将json数据存入mongodb。

1.SERP API调试

还是在指令模拟页面调试API,获取我们需要的目标API。

搜索引擎选择Google,且搜索类型选择购物:

这里我们设定的关键字是pizza,也就是采集指定条件的pizza相关数据。

定位选择香港(可根据自己需求选择):

指定API通道和返回数据格式&#x

网络爬虫 百科名片 网络爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在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)通过用户行为确定的抓取目标样例。其中,网页特征可以是网页的内容特征,也可以是网页的链接结构特征,等等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值