WebMagic架構總結

來源:互聯網
上載者:User

標籤:return   gets   spider   time   items   class   pre   function   style   

一下是博主收藏的第一個WebMagic架構爬蟲樣本

推薦網站: http://webmagic.io/docs/zh/posts/ch4-basic-page-processor/pageprocessor.html

 

public class GithubRepoPageProcessor implements PageProcessor {    // 部分一:抓取網站的相關配置,包括編碼、抓取間隔、重試次數等    private Site site = Site.me().setRetryTimes(3).setSleepTime(1000);    @Override    // process是定製爬蟲邏輯的核心介面,在這裡編寫抽取邏輯    public void process(Page page) {        // 部分二:定義如何抽取頁面資訊,並儲存下來        page.putField("author", page.getUrl().regex("https://github\\.com/(\\w+)/.*").toString());        page.putField("name", page.getHtml().xpath("//h1[@class=‘entry-title public‘]/strong/a/text()").toString());        if (page.getResultItems().get("name") == null) {            //skip this page            page.setSkip(true);        }        page.putField("readme", page.getHtml().xpath("//div[@id=‘readme‘]/tidyText()"));        // 部分三:從頁面發現後續的url地址來抓取        page.addTargetRequests(page.getHtml().links().regex("(https://github\\.com/[\\w\\-]+/[\\w\\-]+)").all());    }    @Override    public Site getSite() {        return site;    }    public static void main(String[] args) {        Spider.create(new GithubRepoPageProcessor())                //從"https://github.com/code4craft"開始抓                .addUrl("https://github.com/code4craft")                //開啟5個線程抓取                .thread(5)                //啟動爬蟲                .run();    }}

WebMagic架構總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.