简易蜘蛛池网站开发
蜘蛛池的原理,以下内容摘自网上。
一般网页上都会存在超链接,而超链接会将互联网上的大多数网页连接起来,形成一个类似蜘蛛网的结构。而蜘蛛的一项工作就是沿着超链接去尽可能多的爬行尚未爬过的页面。换个说法:相当于人为的制造了一张不断变大的网,把蜘蛛困在里面,让它不断的爬行网站内的页面。
开始吧,第一步找资料
先说下过去的经历,如果没有记错,这是第三次查蜘蛛池的资料了。每次都有异想不到的收获,想起刚接触时,看的云里雾里。第二次,直接买源码,根据代码来理解,从此学会了世界上最好的语言(PHP)。与此同时把手上的CMS也改成了寄生虫变态单细胞版(随便取的名字,表达一下)。
主要在数据和展示做了修改。数据方面就是把小说按500字截取,保存到CMS的资讯表。首页每次访问时在1000多条记录里随机提取20条(告诉蜘蛛,网站有更新),详细页面展示时内容还会再一次打乱(这点有些多余,后面收录受影响原因可能出自这里)。
这次也不例外,习惯的在百度看前三四页的内容,这次搜索前十的内容就已经符合我的口味,加上先前经验,快速定位,并且把要点作了笔记。
第二步,实践
在某八平台做过一阵子,多数是PHP的杂事,顺便也让我入了门,同时也发现PHP的世界还是很精彩。只有半桶水也要撸出来。
主要用到的了SNOOP类和readability类,常用的函数如替换,截取和正则等了。还有一个重要的伪静态,因为我没有创建实质的story目录,我需要对story目录访问时进行重定向来满足我的要求,不然,我得在story目录下填坑。
首页和详细页面的内容经过获取,加工,再加工后就展示出来了。先上网站(http://www.relon.net.cn/),在大神面前献丑了。
第三步,等结果
看了作者的网站,双手就开始发痒了。大体功能已经仿出来,并且已经上线,置入统计代码,作者说他网站日引2w IP,想想还是有点小激动。
原计划是把寄生虫站改了,对来访的IP做判断,如果是搜索引擎,我就在访问的页面加入蜘蛛未爬过的内容。
蜘蛛池的精髓“把蜘蛛困在里面,让它不断的爬行网站内的页面”,现阶段网站没有实现去困住蜘蛛,我太善良了,不干坏事。后面还是会继续把这个坑(困蜘蛛)填上,达到池子的效果。