Java垂直爬蟲:webmagic
一個網絡爬蟲工具包
webmagic的發起源于工作中的需要,其定位是幫助開發者更便捷的開發一個垂直的網絡爬蟲。
webmagic的功能覆蓋整個爬蟲的生命周期(鏈接提取、頁面下載、內容抽取、持久化),開發者可以便捷的使用xpath和正則表達式進行鏈接和內容的提取,只需編寫少量代碼即可完成一個定制爬蟲。
特色
-
垂直爬蟲
webmagic著重于頁面抽取的工作。開發者可以使用xpath和正則表達式進行鏈接和內容的提取,支持鏈式API調用,以及單復數轉換。
String content = page.getHtml().x("http://div[@class='body']").r("這段話比較重要(.*)").toString();
-
嵌入式&無配置
webmagic與其他Full-Stack的框架不同,沒有配置文件,大部分功能都通過簡單的API調用完成。webmagic以jar包的形式存在,并且不依賴任何框架,在程序可以隨處進行調用。
以下是爬取oschina博客的一段代碼:
Spider.me().processor(new SimplePageProcessor("http://my.oschina.net/", "http://my.oschina.net/*/blog/*")).run();
-
可擴展
參考
scrapy
的設計,webmagic將爬蟲的擴展點分為Processor、Schedular、Downloader、Pipeline三個模塊,可以通過擴展這些接口實現強大的擴展功能。如可以通過多個Spider實現多線程抓取;可以通過擴展Schedular實現斷點續傳乃至于分布式爬蟲;可以通過擴展 Pipeline實現業務可定制的持久化功能。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!