元宵爬虫-YuanXiaoSpider

    博客分类:

  • 算法讨论
  • JAVASE
  • J2EE
javanutchdemocurrennio
翻译了下..没有元宵的淫文啊....所以用PinYing吧...

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

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

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

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

这个项目比起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. <?xmlversion="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. <divclass="fixList">ANSJTEXT</div>
  9. ]]>
  10. </urlBlock>
  11. <nextPage>
  12. <![CDATA[
  13. <atitle="下一页"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. <h1id="artibodyTitle">ANSJTEXT</h1>
  20. ]]>
  21. </title>
  22. <content>
  23. <![CDATA[
  24. <!--publish_helpername='原始正文'p_id='\d+'t_id='\d+'d_id='\d+'f_id='\d+'-->ANSJTEXT<styletype="text/css">
  25. ]]>
  26. </content>
  27. <publishTime>
  28. <![CDATA[
  29. <spanid="pub_date">ANSJTEXT</span>
  30. ]]>
  31. </publishTime>
  32. <author>
  33. <![CDATA[
  34. <spanid="media_name">ANSJTEXT</span>
  35. ]]>
  36. </author>
  37. </configure>
<?xml version="1.0" encoding="UTF-8"?>
<configure>
<listUrlRegex>
http://roll.mil.news.sina.com.cn/col/zgjq/index_\d+.shtml
</listUrlRegex>
<urlBlock>
<![CDATA[
<div class="fixList">ANSJTEXT</div>
]]>
</urlBlock>
<nextPage>
<![CDATA[
<a title="下一页"ANSJTEXT下一页
]]>
</nextPage>
<urlRegex>http://mil.news.sina.com.cn/(p/)?+\d{4}-\d{2}-\d{2}/\d+(_?+)\d+.html</urlRegex>
<title>
<![CDATA[
<h1 id="artibodyTitle">ANSJTEXT</h1>
]]>
</title>
<content>
<![CDATA[
<!-- publish_helper name='原始正文' p_id='\d+' t_id='\d+' d_id='\d+' f_id='\d+' -->ANSJTEXT<style type="text/css">
]]>
</content>
<publishTime>
<![CDATA[
<span id="pub_date">ANSJTEXT</span>
]]>
</publishTime>
<author>
<![CDATA[
<span id="media_name">ANSJTEXT</span>
]]>
</author>
</configure>
  • Spider.rar (206.1 KB)
  • 下载次数: 217
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。