基于XxlCrawler的Java执行JS渲染方式实战-以获取商飞C919飞行照片为例
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;
public class C919PhotoGather implements PageProcessor {
private Site site = Site.me().setRetryTimes(3).setSleepTime(1000);
@Override
public Site getSite() {
return site;
}
@Override
public void process(Page page) {
// 假设页面上有用于下载的图片链接列表,我们通过jQuery选择器提取这些链接
List<String> imageUrls = page.getHtml().$("div.g-content img").each(new Function<Element, String>() {
@Override
public String apply(Element element) {
return element.attr("data-original");
}
});
// 将提取的图片链接保存到页面对象中,供之后处理
page.putField("imageUrls", imageUrls);
// 提取下一页链接并加入爬虫的爬取队列
String nextLink = page.getHtml().$("a.next").links().get();
page.addTargetRequest(nextLink);
}
public static void main(String[] args) {
Spider.create(new C919PhotoGather())
.addUrl("http://photo.c-star.org/C919/")
.thread(5)
.run();
}
}
这个代码实例展示了如何使用XxlCrawler库来实现一个简单的网页爬虫,该爬虫会从一个模拟的商飞C919相册页面开始,提取该页面上的图片链接,并且跟踪分页,爬取整个相册的所有图片。这个例子教会开发者如何使用XxlCrawler进行基本的网页爬取工作。
评论已关闭