您的位置:首页 > 新闻资讯 >文章内容
网络爬虫对网站的抓取策略
来源:互联网 作者:admin 时间:2019-02-01 09:07:00

    虽然网络爬虫可以使用代理IP来突破网站的IP限制,但是如果爬取的速度过快,会对网站造成非常大的影响,这样网站肯定是会发现爬虫的踪迹,并进行限制的。而且除了IP限制,网站还有其他的各种限制,爬虫会遇到很多的问题,因此在爬取之前,爬虫需要先了解下网站的情况。下面小编为大家介绍下网络爬虫对网站的抓取策略


    一、抓取策略


    那些网页是我们需要去下载的,那些是无需下载的,那些网页是我们优先下载的,定义清楚之后,能节省很多无谓的爬取。


    使用URL的正则特征是一个简单但却很高效的模式;对于定向抓取,一般的网站的URL有一定的特征,比如可能仅仅关心 .html, .htm, .asp, .aspx, .php, .jsp, .jspx类型的网页;或者是如果可以得到目标网站的正则,则可以大大的降低抓取的数量;又或者我们无需关心某一类网页,比如我们不抓取 bbs.taobao.com下面的内容;仅仅需要抓取淘宝的商品页面(http://item.taobao.com/item.htm?id=\d+ )。通过URL的正则能极大的降低抓取数量,也可以通过网页的文本特征来确定;不过要复杂得多了,一般需要一定数量已知页面的训练集合,然后提取页面的文本特征,然后通过向量空间模型或者其其他基于主题词提取的模型计算目标网页和训练集网页的距离,决定是否是目标网页。


网络爬虫对网站的抓取策略


    二、更新策略


    Freshness:表示抓取到的网页是否已经被修改


    Age:表示抓取的网页过期的时间


    对于更新来说,目标是让平均age时间越小,freshness越高;一般的更新策略有两种:定期批量更新和按更新周期更新;定期批量更新指对一批 URL,按照失效时间定期去刷新,按周期更新指的是按照页面更新变化频率而修正是更新频率,一般来说,更新越频繁的网页更新也就越快。


    三、抓取频率


    我们需要合理的去下载一个网站,却又不失效率。


    同时开启N个线程抓取一个网站,相信很快就会被对方网站封掉;因此抓取的频率也很重要;抓取网站同时不对对方网站造成压力;在robot.txt协 议里面定义Crawl-delay来确定抓取的频率也是一种网站的通用的做法,对于一般的抓取而言,10到20秒抓取一次是一个比较保险的频率,也有提出 10*t的抓取间隔(t是download时间)比较合理。


    四、抽取策略


    我们应该如何的从网页中抽取我们想要的内容,不仅仅包含最终的目标内容,还有下一步要抓取的url。


    XPATH是一个简单直观,但是很有效的一个方案,XPATH能精准的定位网页的任意一个位置,意味着我们可以很精准的抽取页面上的任意位置,当面临很多网站的时候,当然配置XPATH就是一个很艰巨的任务,也许存在一个自适应的XPATH识别的方法。


    在java下面,HtmlUnit是一个不错的 解决方案,HtmlUnit是Junit 的扩展测试框架之一,该框架模拟浏览器的行为,开发者可以使用其提供的API对页面的元素进行操作,套用官方网站的话HtmlUnit“是Java程序的 浏览器”。HtmlUnit支持HTTP,HTTPS,COOKIE,表单的POST和GET方法,能够对HTML文档进行包装,页面的各种元素都可以被 当作对象进行调用,另外对JavaScript的支持也比较好。一般来说,HtmlUnit是在java环境下解决JS的很好的选择。


    WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS;目前比较主流的浏览器Google Chrome和Apple的safari,都是基于WebKit的内核写的。使用浏览器作为抓取能更好的模拟用户浏览的行为,能够天然的解决JS和AJAX等问题,问题可能就是性能是一个瓶颈。


    上文介绍了网络爬虫对网站的抓取策略,适度控制爬取的速度,这对大家都好,即使爬虫控制了速度,也可以使用代理来提高效率的。


相关文章内容简介
推荐阅读
  • 19 2019-04
    免费代理IP的抓取步骤分析

    免费代理IP的抓取步骤分析是怎样的?我们所要爬取或者访问的网站通过都有设置了反爬虫机制,比如使用同一个IP频繁的请求网页的次数过多的时候,服务器由于反爬虫机制的指令从而选择拒

  • 31 2020-12
    自媒体行业是否需要代理ip

    现在越来越多的人开始使用微博,今天的头条媒体平台,所以很多人看到了这个机会,借助媒体平台发展自己的业务。但是,因为媒体的蓬勃发展,它也是一个新的行业,是一种新的媒体运营。

  • 22 2020-09
    ip代理软件的作用比较多

    ip代理软件的作用比较多,主要是网络爬虫来使用,对于这个爬虫是如何解决ip代理软件的问题呢?如果使用的是免费ip代理软件,我们是怎么抓取的,又是如何检测的呢?要获得有效的免费ip代

  • 22 2019-03
    代理IP在Python中如何使用?

    上文刚刚讲到对于代理IP资源的获取方法,如果选择使用代理精灵,这效果还是不错的,可以先进行测试使用的。那么代理IP在Python如何使用的呢?

  • 06 2020-06
    代理ip跟真实ip的区别

    虽然代理IP的应用并不需要太复杂的技巧,但是为了让大家更好地理解代理ip,首先我们从代理ip的原理开始掌握。

  • 29 2019-04
    网页IP被封找代理IP能行吗?

    网页IP被封找代理IP能行吗?遇到被封,大家第一时间是怎么想的?如何解决呢?现在很多站长都会有抓取数据的需求,因此网络爬虫在一定程度上越来越火爆,其实爬虫的基本功能很简单,就

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部