Java爬虫-WebCollector爬虫Demo微讲解
工作三年,第一次有时间并且有兴致写博客,文笔可能不太好并且个人是个青铜级别开发,有错误的地方请及时帮忙纠正一下,谢谢。
首先贴个WebCollector的开源地址:链接: https://github.com/CrawlScript/WebCollector.
关于WebCollector,我就不多做介绍了,百度一大堆,下面推荐一下写的比较全的:
链接: https://blog.csdn.net/wangmx1993328/article/details/81662001.(转)
链接: https://www.oschina.net/p/webcollector.(转)
开发文档
由于WebCollector的开发文档是打不开的(不知道是不是我的打开方式不对),所以用的时候都是靠自己一路摸索,看源码用的。后面如果有人有开发文档的话,麻烦给我发一份,谢谢。
个人理解版(可以先往下看,开发不懂时再看回来):
1.爬虫网站指定:addSeed();addSeedAndReturn();
2.网页重新指向:page.links();(自带有a标签href的读取,要读取src时需要第二入参)
/**
* 获取满足选择器的元素中的链接 选择器cssSelector必须定位到具体的超链接 例如我们想抽取id为content的div中的所有超链接,这里
* 就要将cssSelector定义为div[id=content] a
*
* @param cssSelector
* @return
*/
public Links links(String cssSelector, boolean parseSrc) {
Links links = new Links().addBySelector(doc(), cssSelector,parseSrc);
return links;
}
public Links links(String cssSelector) {
return links(cssSelector,false);
}
/**
* 添加ele中,满足选择器的元素中的链接 选择器cssSelector必须定位到具体的超链接
* 例如我们想抽取id为content的div中的所有超链接,这里 就要将cssSelector定义为div[id=content] a
*
*/
public Links addBySelector(Element ele, String cssSelector, boolean parseSrc) {
Elements as = ele.select(cssSelector);
for (Element a : as) {
if (a.hasAttr("href")) {
String href = a.attr("abs:href");
this.add(href);
}
if(parseSrc){
if(a.hasAttr("src")){
String src = a.attr("abs:src");
this.add(src);
}
}
}
return this;
}
3.下一个深度跳转:next.add();(这个需要深度设置为 >1)
4.页面元素取值