WebCollector教程——爬取搜索引擎

本教程演示了WebCollector 2.20的新特性。下载WebCollector最新jar包可在WebCollector github主页下载。MetaData:MetaData是每个爬取任务的附加信息,灵活应用MetaData可以大大简化爬虫的设计。 例如Post请求往往需要包含参数,而传统爬虫单纯使用URL来保存参数的方法不适合复杂的POST请求。一些爬取任务希望获取遍历树的深度信息,这也
摘要由CSDN通过智能技术生成

本教程演示了WebCollector 2.20的新特性。

下载

WebCollector最新jar包可在WebCollector github主页下载。

MetaData:

MetaData是每个爬取任务的附加信息,灵活应用MetaData可以大大简化爬虫的设计。
例如Post请求往往需要包含参数,而传统爬虫单纯使用URL来保存参数的方法不适合复杂的POST请求。

一些爬取任务希望获取遍历树的深度信息,这也可以通过MetaData轻松实现,
可参见教程DemoDepthCrawler

RamCrawler:

RamCrawler不需要依赖文件系统或数据库,适合一次性的爬取任务。
如果希望编写长期任务,请使用BreadthCrawler。

本教程实现了一个爬取Bing搜索前n页结果的爬虫,爬虫的结果直接输出到标准输出流
如果希望将爬取结果输出到ArrayList等数据结构中,在类中定义一个ArrayList的成员变量,
输出时将结果插入ArrayList即可,这里需要注意的是爬虫是多线程的,而ArrayList不是线程
安全的,因此在执行插入操作时,可使用下面的方式上锁保证安全。

    synchronized(this){ 
        //插入操作
    }

本教程中对Bing搜索的解析规则可能会随Bing搜索的改版而失效。

import cn.edu.hfut.dmic.webcollector.model.CrawlDatum;
import cn.edu.hfut.dmic.webcollector.model.CrawlDatums;
import cn.edu.hfut.dmic.webcollector.model.Page;
import cn.edu.hfut.dmic.webcollector.plugin.ram.RamCrawler;
import java.net.URLEncoder;
import org.jsoup.select.Elements;
import org.jsoup.nodes.Element;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值