使用webmagic实现爬虫程序示例分享

时间:2021-05-19

复制代码 代码如下:
package com.letv.cloud.spider;

import java.util.HashSet;
import java.util.List;

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;

public class MoviePaperPageProcessor implements PageProcessor {
private Site page = Site.me().setRetryTimes(3).setSleepTime(1000);

public Site getSite() {
return page;
}

public void process(Page page) {
List<String> links = page.getHtml().links().regex(
"http://posters.aa.com/poster/\\d+").all();
links = removeDuplicate(links);
page.addTargetRequests(links);
page.putField("title", page.getHtml().xpath(
"//div[@id='imdbleftsecc']/center/h1/text()").toString());
page.putField("imgurl", page.getHtml().xpath(
"//div[@id='imdbleftsecc']/center/img/@src").toString());
}

public static void main(String[] args) {
for (int i = 1; i <= 3; i++) {
Spider.create(new MoviePaperPageProcessor()).addUrl(
"http://posters.aa.co/poster_page/" + i).thread(5).run();
}
}

public static List removeDuplicate(List list) {
HashSet hs = new HashSet(list);
list.clear();
list.addAll(hs);
return list;
}
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章