垂直搜索-爬虫部分

垂直搜索与通用搜索不同之处在于,通用搜索不需要理会网站哪些资源是需要的,哪些是不需要的,一并抓取并将其文本部分做索引。而垂直搜索里,我们的目标网站往往在某一领域具有其专业性,其整体网站的结构相当规范,并且垂直搜索往往只需要其中一部分具有垂直性的资源,所以垂直爬虫相比通用爬虫更加精确。

垂直爬虫抓取数据分成三个步骤:list-crawling(列表url抓取)detail-crawling(详情url抓取)data-extract and store (数据抽取和存储),其实原理上并不复杂,以下是整体垂直搜索的架构及流程图:



 

1.  首先运营人员会选定需要抓取的目标网站,录入数据库的站源表sitelist,即这些url作为爬虫的seed。同时,开发人员会在爬虫规则库中增加相应网站的规则解析。

2crawler读取种子url,根据事先制定的规则(一般是正则表达式规则),从种子url中进行列表页url的抽取,并提取出来保存到数据库中(实际工作中,直接抽取出来放到调度队列中,继续抓取)。需要注意的是,很多网站的列表页的url都是通过js的方式处理的,因此制定规则时,需要懂得js分析。

3.  进行列表页url的请求,之后抽取出详情页的url列表

       4.  进行详情页url的请求,之后抽取出具体的数据。

 

       其他一些点补充:

       1. url会做去重处理,不会重复调度同样的url

 

       2. 抽取数据的过程中,一般都是使用xpath处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值