使用webmagic实现爬虫程序示例分享
时间:2021-10-08 22:10:26
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;
}
}
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java数据结构之数组(动力节点之Java学院整理)
IntelliJ IDEA中查看当前类的所有继承关系图
![](https://img.aspxhome.com/file/2023/6/57906_0s.png)
深入理解Android Bitmap
Java下变量大小写驼峰、大小写下划线、大小写连线转换
![](https://img.aspxhome.com/file/2023/7/61067_0s.jpg)
详解SpringBoot注解读取配置文件的方式
Java Socket实现传输压缩对象的方法示例
MyBatis-Plus多表联查的实现方法(动态查询和静态查询)
![](https://img.aspxhome.com/file/2023/9/59839_0s.png)
Java使用JDBC实现Oracle用户认证的方法详解
完美解决idea创建文件时,文件不分级展示的情况
![](https://img.aspxhome.com/file/2023/9/62099_0s.jpg)
JAVA Integer类常用方法解析
Mybatis-Plus自动填充更新操作相关字段的实现
分析并发编程之LongAdder原理
![](https://img.aspxhome.com/file/2023/9/65599_0s.jpg)
IDEA 2022 中的Lombok 使用基础教程
![](https://img.aspxhome.com/file/2023/7/64547_0s.png)
c# 在windows中操作IIS设置FTP服务器的示例
![](https://img.aspxhome.com/file/2023/6/66116_0s.jpg)
详解Springboot分布式限流实践
![](https://img.aspxhome.com/file/2023/7/64217_0s.png)
C++程序中启动线程的方法
解决Maven中关于依赖导入不进的问题
![](https://img.aspxhome.com/file/2023/0/60260_0s.jpg)
Java重写equals及hashcode方法流程解析
SpringBoot框架中Mybatis-plus的简单使用操作汇总
idea如何配置javafxsdk详细教程
![](https://img.aspxhome.com/file/2023/3/59603_0s.jpg)