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");