嘿夥計們,每隔一段時間我都需要自動從網站收集數據任務。有時我需要一個目錄中的一堆URL,有時候我需要一個XML站點地圖(是的,我知道有很多軟件和在線服務)。網絡爬蟲,反饋?
不管怎麼說,跟上我之前的問題,我已經寫了一個可以訪問網站的小webcrawler。
基本爬蟲類,以方便,快捷地與一個網站交互。
覆蓋「doAction(String URL,String content)」來進一步處理內容(例如存儲它,解析它)。
Concept允許抓取程序的多線程。所有類實例共享已處理和排隊的鏈接列表。
可以建立一個JDBC連接來存儲鏈接到數據庫中,而不是跟蹤對象中的處理鏈接和排隊鏈接。
但是,目前僅限於一個網站,可以通過添加externalLinks堆棧並根據需要添加到其中來擴展它。
JCrawler旨在用於快速生成XML站點地圖或解析網站以獲取所需信息。它輕巧。
這是寫的爬蟲好/體面的方式,提供上述的限制?任何投入將極大地幫助:)
http://pastebin.com/VtgC4qVE - Main.java
http://pastebin.com/gF4sLHEW - JCrawler.java
http://pastebin.com/VJ1grArt - HTMLUtils.java
謝謝你的回答。什麼是投票?蜘蛛本身並沒有連續運行,但我想我可以通過一些改變來做到這一點;在這種情況下,我完全同意觀察者的設計模式。事實上,我個人可能會在doAction中實現更新的東西。 – 2010-05-29 19:46:56
輪詢只不過是爬行的時間段。讓我們說5分鐘,這意味着每隔5分鐘它就會抓取到一個特定的URL。 – 2010-05-29 20:03:15