webmagic循环爬取

1.第一个小爬虫只能爬取指定的列表页的文章,接下来要自动爬取每一列表页的文章
2.循环爬取process是会循环运行的。其中的循环并不是for循环,而是利用if
public void process(Page page) {
    //列表页
    if (page.getUrl().regex(URL_LIST).match()) {
        System.out.println("列表页"); 
/*从页面发现后续的url地址来抓取
.xpath("//@href")  //提取链接
.regex(".*blog.*") //正则匹配过滤*/
page.addTargetRequests(page.getHtml().xpath("//div[@class="articleList"]").links().regex(URL _POST).all());
        page.addTargetRequests(page.getHtml().links().regex(URL_LIST).all());
        //文章页
    }
else {
        System.out.println("文章页");
//抓取文章页内容
        page.putField("title", page.getHtml().xpath("//div[@class='articalTitle']/h2"));
   
  }
3.PageProcess中的site方法是抓取网站的相关配置,包括编码、抓取间隔、重试次数等
.me()
.setDomain("www.ccgp-hebei.gov.cn")
.setSleepTime(3000)
.setUserAgent(
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31");

原文地址:https://www.cnblogs.com/wf1647790534/p/9802882.html