蜘蛛程序(什么是蜘蛛池程序)程序,是搜索引擎的自动程序,用来爬取网页、图片和视频等内容,然后分门别类建立数据索引库,方便用户在搜索引擎中找到想获取的信息。今天陶水水SEO给大家介绍蜘蛛程序、蜘蛛程序通道、蜘蛛程序陷阱等知识,我们一起来看看吧。
什么是蜘蛛程序(spider)?
蜘蛛也称为机器人,指的是搜索引擎运行的计算机程序,沿着页面上的超链接发现和爬行更多页面,抓取页面内容,关入搜索引擎数据库。
蜘蛛程序就是爬行程序,是搜索引擎的一部分,负责在互联网上定位和收这样能够响应搜索者的请求,成功的搜索引擎营销取决于爬的网页。
什么是蜘蛛程序通道(spider paths)?
蜘蛛程序通道是用于站点导航的轻松通道,例如站点地图,分类地图,国家地图,或者在关键网页底部的文本链接,蜘蛛通道包括任何能使蜘蛛程序轻松找到你有网页的方法。
什么是蜘蛛程序陷阱(spider trap)?
蜘蛛陷阱指的是由于网站结构的某种特征,使搜索引擎陷入无限循环,无法停止爬行,最典型的蜘蛛陷阱是某些页面上的万年历,搜索引擎可以一直单击下一个月陷入无限循环。
蜘蛛程序陷阱是阻止蜘蛛程序爬些网页显示的技术方法,这些手段能很好地配合浏览器,但对蜘蛛程序就构成了阻碍,蜘蛛陷阱包括Javascript下拉菜单以及有些种类的重定向。
百度蜘蛛的运行原理是什么?
1、通过百度蜘蛛下载回来的网页放到补充数据区,通过各种程序计算过后才放到检索区,才会形成稳定的排名,所以说只要下载回来的东西都可以通过指令找到,补充数据是不稳定的,有可能在各种计算的过程中给k掉,检索区的数据排名是相对比较稳定的,百度目 前是缓存机制和补充数据相结合的,正在向补充数据转变,这也是目 前百度收录困难的原因,也是很多站点今天给k了明天又放出来的原因。
2、深度优先和权重优先,百度蜘蛛抓页面的时候从起始站点(即种子站点指的是一些门户站点)是广度优先抓取是为了抓取更多的网址,深度优先抓取的目的是为了抓取高质量的网页,这个策略是由调度来计算和分配的,百度蜘蛛只负责抓取,权重优先是指反向连接较多的页面的优先抓取,这也是调度的一种策略,一般情况下网页抓取抓到40%是正常范围,60%算很好,100%是不可能的,当然抓取的越多越好。
如何写爬取链接的蜘蛛小程序?
1、打开并读取目标网页内容,可以使用urllib2、request等库;
2、解析网页内容,寻找外链的链接地址。可以使用re写正则表达式来处理(类似于抓字段并提取其中的一部分),也可以通过beautifulsoup等专门的html解析库来处理;
3、从外链地址中提取网站名称。这个应该用re就可以简单解决了;
4、比较此次获取的网站名称、之前存储的网站名称。如果重复,则跳过;如果无重复,则保存此次获取的网站名称。
5、定时输出保存搜索结果。不停循环上述过程,直到达到你的设计目标。
不过需要注意的是:
1、有一些网站不希望被爬虫爬取,会留有robot.txt文件进行说明。爬虫程序最好尊重别人设定的限制。
2、为了减小对目标网站的访问负担,建议不要在短时间内对某一个网站发起大量链接,可以用time.sleep()等方式均衡负载。
以上只是最简单的思路,根据实际任务情况的不同,可能会有很多需要扩展的地方,比如:
1、有一些网站要求用户验证,需要打开网页时特别设置;
2、网站编码问题,特别是正则表达式的编码要和网页编码相一致(特别是re搜索中文的时候);
3、连接并打开网页是否成功?不成功应当怎么处理?
4、有一些网页内容可能是通过ajax动态加载的,这可能就需要额外的解决方案了(比如selenimum, phantomJS等等)。
5、有时为了提高抓取效率需要进行多线程扩充,这就涉及到Queue、multithreading等许多额外的库了。
本文地址: