Webmagic爬虫--①初入门

来源:互联网 发布:寻找客源的软件 编辑:程序博客网 时间:2024/06/05 20:30

1.创建一个普通Maven项目,导入以下依赖

    <dependency>      <groupId>us.codecraft</groupId>      <artifactId>webmagic-core</artifactId>      <version>0.7.3</version>    </dependency>    <dependency>      <groupId>us.codecraft</groupId>      <artifactId>webmagic-extension</artifactId>      <version>0.7.3</version>    </dependency>

2.创建一个测试类,实现PageProcessor接口,重写getSite方法,process方法,

package com.xt;import us.codecraft.webmagic.Page;import us.codecraft.webmagic.Site;import us.codecraft.webmagic.Spider;import us.codecraft.webmagic.processor.PageProcessor;/** * Created by XT on 2017/11/23. */public class test implements PageProcessor {    // 抓取网站的相关配置,包括编码、抓取间隔、重试次数等    private Site site = Site.me().setRetryTimes(3).setSleepTime(100);    private static int count =0;    public Site getSite() {        return site;    }    public void process(Page page) {        //判断链接是否符合http://www.cnblogs.com/任意个数字字母-/p/7个数字.html格式        if(!page.getUrl().regex("http://www.cnblogs.com/[a-z 0-9 -]+/p/[0-9]{7}.html").match()){            //加入满足条件的链接            page.addTargetRequests(                    page.getHtml().xpath("//*[@id=\"post_list\"]/div/div[@class='post_item_body']/h3/a/@href").all());        }else{            //获取页面需要的内容            System.out.println("抓取的内容:"+                    page.getHtml().xpath("//*[@id=\"Header1_HeaderTitle\"]/text()").get()            );            count ++;        }    }    public static void main(String[] args) {        long startTime, endTime;        System.out.println("开始爬取...");        startTime = System.currentTimeMillis();        Spider.create(new test()).addUrl("https://www.cnblogs.com/").thread(5).run();        endTime = System.currentTimeMillis();        System.out.println("爬取结束,耗时约" + ((endTime - startTime) / 1000) + "秒,抓取了"+count+"条记录");    }}

3.执行main方法爬取数据。
这里写图片描述

原创粉丝点击