Java垂直爬蟲:webmagic

jopen 11年前發布 | 42K 次閱讀 網絡爬蟲 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實現業務可定制的持久化功能。

項目主頁:http://www.baiduhome.net/lib/view/home/1371129460726

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!