嘿伙计们,每隔一段时间我就需要从网站上自动执行数据收集任务。有时我需要一个目录中的一堆 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