嘿伙计们,每隔一段时间我就需要从网站自动化数据收集任务.有时我需要一堆来自目录的URL,有时候我需要一个XML站点地图(是的,我知道有很多软件用于那个和在线服务).
无论如何,根据我之前的问题,我写了一个可以访问网站的小型网络浏览器.
基本爬虫类可以轻松快速地与一个网站进行交互.
覆盖"doAction(String URL,String content)"以进一步处理内容(例如,存储它,解析它).
概念允许爬行器的多线程.所有类实例共享已处理和排队的链接列表.
可以建立JDBC连接以在数据库中存储链接,而不是跟踪对象内的已处理链接和排队链接.
但是,目前一次仅限于一个网站,可以通过添加externalLinks堆栈并在适当时添加它来扩展.
JCrawler旨在用于快速生成XML站点地图或解析网站以获取所需信息.它很轻巧.
如果有上述限制,这是编写爬虫的好/正常方式吗?任何输入都会极大地帮助:)
http://pastebin.com/VtgC4qVE - Main.java
http://pastebin.com/gF4sLHEW - JCrawler.java
http://pastebin.com/VJ1grArt - HTMLUtils.java
您的抓取工具似乎不会以任何方式尊重robots.txt并使用假User-Agent
字符串来展示它就像是一个webbrowser.这可能导致将来出现法律问题.考虑到这一点.