代理IP服务器如何提高c#爬虫抓取效率?
代理IP,c#爬虫 分类:使用妙招 作者:太阳HTTP运营管理团队

spider是整个搜索引擎系统中很重要的一个组成部分,可以说是搜索引擎的基础。它不仅仅是为搜索引擎提供了搜索对象——海量数据,更重要的是它使搜索引擎从一个检索工具上升为一个信息整合的平台。

1. 抓取的效率

抓取的效率和计算机硬件的性能、硬件的多少、网络的带宽有关系,但为了提高抓取效率不能一味地增加硬件,而是要利用有限的硬件资源在一定的时间内抓取最多的的网页。

常见的提高抓取效率的策略有:

(1)采用多线程并发抓取

(2)采用单线程、非阻塞i/o抓取

(3)分布式抓取,把抓取工作分布到多台服务器完成,对于google这样的搜索引擎还包括地理上的分布式,把抓取服务器机群分布到全球各个国家的主干网上抓取。

2. 抓取的质量

设计spider的目标不是把互联网上的所有网页都抓回来,而是抓重要的而且是最新的网页的即可。

怎样抓取高质量的网页?哪些网页是质量比较高的?这里就要求设计人员对互联网以及用户的习惯和常理都有一定的理解。

从互联网整体上看,网站中各个网页之间的链接关系是一个很重要的资源,因此在抓取网页时要记录网页之间的链接关系,以便进行链接分析,从而通过链接关系来评价网页的质量。

3. 抓取的礼貌问题

礼貌的抓取具体表现在:网站不让抓取的网页就不要抓取,控制好访问网站的频率,spider的抓取行为不能影响正常用户的访问。因此spider在抓取时要:

(1)限制单位时间内对一个网站抓取网页的数量。

(2)限制同时对同一个网站抓取的线程/进程的数量。

(3)控制对同一个网站抓取的时间间隔。

(4)遵循robots、meta tag 、sitemap.htm协议 ,对不允许访问的目录不访问。

(5)在抓取网页的时发送的请求中,通过user-agent、form字段,标识spider的身份、联系email、spdier注意事项页面url。

4. 避免重复抓取

之所以会造成重复抓取,是因为:

(1)互联网上大量网

页被其他网页引用,这就使得同一个网页的url出现在多个不同的网页中,这就要求spider必须有url消重功能。

(2)网页被其他网页转载,这就使得同一篇文章出现在不同url的页面中,这就要求spider具有内容消重功能,目前这块比较难以实现,当前很多搜索引擎公司都没有较好的解决这个问题。

(3)网页的url有多种表示形式,这是由于dns与ip对应关系造成的。

5. 抓取数据的更新

抓取数据的更新问题是一个很重要的问题,它决定了用户能不能马上搜索到最新的新闻,最新的内容,但是由于互联网上海量的网页使得一次抓取的周期都很长 ,如果通过每次重新抓取一次来更新,势必更新周期很长。

spider已经抓取的网页可能被修改、删除,spider要定期检测这些网页的更新情况,同时更新原始网页库、提取的数据库以及索引库。

6.内容提取

spider要抓取的文件各种各样,比如有html、xml网页,有doc、ppt、xls、pdf等带格式的文档,有图片、音频、视频等多媒体数据,对这些不同类型文件spider都要提取出文件里的纯文本内容。

对于doc、pdf等文档,这种由专业厂商提供的软件生成的文档,厂商都会提供相应的文本提取接口。

对于html、xml网页来说,除了标题和正文以外,会有许多版权信息、广告链接以及公共的频道链接,这些链接和文本正文一点关系也没有,在提取网页内容的时候,也需要过滤这些无用的链接。


客户经理
1214413489 17696587966
在线咨询

售后客服

在线售后,实时响应

太阳大客户经理

15305445551
微信客服
免费套餐
客户定制
专属客户经理
2890289832
15963368937

微信二维码

大客户
专属客户经理
528592872
17696586166

微信二维码

公众号

关注公众号

免费领试用

意见反馈
置顶