什么是蜘蛛池程序

    程序,是搜索引擎的自动程序,用来爬取网页、图片和视频等内容,然后分门别类建立数据索引库,方便用户在搜索引擎中找到想获取的信息。今天给大家介绍SEO优化蜘蛛程序、蜘蛛程序通道、蜘蛛程序陷阱等知识,我们一起来看看吧。


    什么是蜘蛛程序(spider)?

    蜘蛛也称为机器人,指的是搜索引擎运行的计算机程序,沿着页面上的超链接发现和爬行更多页面,抓取页面内容,关入搜索引擎数据库。

    蜘蛛程序就是爬行程序,是搜索引擎优化的一部分,负责在互联网上定位和收这样能够响应搜索者的请求,成功的搜索引擎营销取决于爬的网页。


    什么是蜘蛛程序通道(spider paths)?

    蜘蛛程序通道是用于站点导航的轻松通道,例如站点地图,分类地图,国家地图,或者在关键网页底部的文本链接,蜘蛛通道包括任何能使蜘蛛程序轻松找到你有网页的方法。


    什么是蜘蛛程序陷阱(spider trap)?

    蜘蛛陷阱指的是由于网站结构的某种特征,使搜索引擎陷入无限循环,无法停止爬行,最典型的蜘蛛陷阱是某些页面上的万年历,搜索引擎可以一直单击下一个月陷入无限循环。

    蜘蛛程序陷阱是阻止蜘蛛程序爬些网页显示的技术方法,这些手段能很好地配合浏览器,但对蜘蛛程序就构成了阻碍,蜘蛛陷阱包括Javascript下拉菜单以及有些种类的重定向。


    百度蜘蛛的运行原理是什么?

    1、通过百度蜘蛛下载回来的网页放到补充数据区,通过各种程序计算过后才放到检索区,才会形成稳定的网站排名,所以说只要下载回来的东西都可以通过指令找到,补充数据是不稳定的,有可能在各种计算的过程中给k掉,检索区的数据排名是相对比较稳定的,百度目 前是缓存机制和补充数据相结合的,正在向补充数据转变,这也是目 前百度收录困难的原因,也是很多站点今天给k了明天又放出来的原因。

    2、深度优先和权重优先,百度蜘蛛抓页面的时候从起始站点(即种子站点指的是一些门户站点)是广度优先抓取是为了抓取更多的网址,深度优先抓取的目的是为了抓取高质量的网页,这个策略是由调度来计算和分配的,百度蜘蛛只负责抓取,权重优先是指反向连接较多的页面的优先抓取,这也是调度的一种策略,一般情况下网页抓取抓到40%是正常范围,60%算很好,100%是不可能的,当然抓取的越多越好。


    如何写爬取链接的蜘蛛小程序?

    1、打开并读取目标网页内容,可以使用urllib2、request等库;

    2、比较此次获取的网站名称、之前存储的网站名称。如果重复,则跳过;如果无重复,则保存此次获取的网站名称。

    3、解析网页内容,寻找外链的链接地址。可以使用re写正则表达式来处理(类似于抓字段并提取其中的一部分),也可以通过beautifulsoup等专门的html解析库来处理;

    4、从外链地址中提取网站名称。这个应该用re就可以简单解决了;

    5、定时输出保存搜索结果。不停循环上述过程,直到达到你的设计目标。


    不过需要注意的是:

    1、有一些网站不希望被爬虫爬取,会留有robot.txt文件进行说明。爬虫程序最好尊重别人设定的限制。

    2、为了减小对目标网站的访问负担,建议不要在短时间内对某一个网站发起大量链接,可以用time.sleep()等方式均衡负载。

    以上只是最简单的思路,根据实际任务情况的不同,可能会有很多需要扩展的地方,比如:

    1、有一些网站要求用户验证,需要打开网页时特别设置;

    2、网站编码问题,特别是正则表达式的编码要和网页编码相一致(特别是re搜索中文的时候);

    3、连接并打开网页是否成功?不成功应当怎么处理?

    4、有一些网页内容可能是通过ajax动态加载的,这可能就需要额外的解决方案了(比如selenimum, phantomJS等等)。

    5、有时为了提高抓取效率需要进行多线程扩充,这就涉及到Queue、multithreading等许多额外的库了。