元宵爬虫-YuanXiaoSpider

元宵爬虫-YuanXiaoSpider - - ITeye技术网站

翻译了下..没有元宵的淫文啊....所以用PinYing吧...



这几天写了一个爬虫可以做定向爬虫.也可以做全网爬虫.



该考虑的部分考虑了..不该考虑的没考虑



这里是个程序运行的大概UML不怎么会画凑合看吧



元宵爬虫-YuanXiaoSpider





支持正则过滤网址  支持抽取模板  



这个项目比起nutch不具有可比性...如果你非要当个demo来看我也不喊冤呵呵...



里面的url抽取..正文抽取...都是自己写的



用到了一些java(据说高级)的东西..可惜仅仅是用到...比如curren nio



周六日费了两天电..目前采集没出大问题(中途断网一次).



如果非要说特点.那就是作者造轮子吧..基于原生java api 写的..不用导包..连log4j 都没要..当然我也没做log...



不是我喜欢造轮子..是不太会用轮子..比如htmlpaser 我怎么看它抽取的正文都不是我想要的东西...js css 都属于正文...而且还得导入个巨大的jar ...这不是我想要的...



数据有了.下一步把cq分词完善下..然后自己写个垃圾索引...一告慰我四年的无为java生涯



使用方法如下





1.首先将项目导入到eclipse

2.在D:/data/url.txt 存放你的种子网页

3.主类在 ansj.sun.spider.thread.Scheduler在这里运行就可以了



配置文件:regexFilter.txt 这个是对需要采集网址的正则过滤

d:/data/wrapper 里面存放用户的自定义抽取模板



抽取模板的例子如下

命名规则必须是news-*.xml






Xml代码  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <configure>  
  3.     <listUrlRegex>  
  4.         http://roll.mil.news.sina.com.cn/col/zgjq/index_\d+.shtml  
  5.     </listUrlRegex>  
  6.     <urlBlock>  
  7.         <![CDATA[ 
  8.             <div class="fixList">ANSJTEXT</div> 
  9.         ]]>  
  10.     </urlBlock>  
  11.     <nextPage>  
  12.         <![CDATA[ 
  13.             <a title="下一页"ANSJTEXT下一页 
  14.         ]]>  
  15.     </nextPage>  
  16.     <urlRegex>http://mil.news.sina.com.cn/(p/)?+\d{4}-\d{2}-\d{2}/\d+(_?+)\d+.html</urlRegex>  
  17.     <title>  
  18.         <![CDATA[ 
  19.             <h1 id="artibodyTitle">ANSJTEXT</h1> 
  20.         ]]>  
  21.     </title>  
  22.     <content>  
  23.         <![CDATA[ 
  24.             <!-- publish_helper name='原始正文' p_id='\d+' t_id='\d+' d_id='\d+' f_id='\d+' -->ANSJTEXT<style type="text/css"> 
  25.         ]]>  
  26.     </content>  
  27.     <publishTime>  
  28.         <![CDATA[ 
  29.             <span id="pub_date">ANSJTEXT</span> 
  30.         ]]>  
  31.     </publishTime>  
  32.     <author>  
  33.         <![CDATA[ 
  34.             <span id="media_name">ANSJTEXT</span> 
  35.         ]]>  
  36.     </author>  
  37. </configure>  

你可能感兴趣的:(spider)