java爬虫抓取网页数据(WebCollector2.20线程安全教程演示2.20 )

优采云 发布时间: 2021-10-07 03:38

  java爬虫抓取网页数据(WebCollector2.20线程安全教程演示2.20

)

  本教程演示webcollector2.20的新功能

  下载

  webcollector的最新jar包可以从webcollector GitHub的主页下载

  元数据:

  元数据是每个爬网任务的附加信息。元数据的灵活应用可以大大简化爬虫的设计

  例如,post请求通常需要收录参数,而传统的爬虫程序只是使用URL保存参数,这不适合复杂的post请求

  有些爬行任务需要获取遍历树的深度信息,也可以通过元数据轻松实现

  请参阅教程DemocepthCrawler

  RamCrawler:

  Ramcrawler不需要依赖文件系统或数据库,适合于一次性爬网任务

  如果您想编写长期任务,请使用breadthcrawler

  本教程实现了一个爬虫程序,它对Bing搜索的前N个页面的结果进行爬虫,并将爬虫结果直接输出到标准输出流

  如果要将爬网结果输出到数据结构(如ArrayList),请在类中定义ArrayList的成员变量

  输出时将结果插入ArrayList。请注意,爬虫程序是多线程的,而ArrayList不是线程化的

  它是安全的。因此,在执行插入操作时,可以使用以下方法锁定以确保安全

   synchronized(this){

//插入操作

}

  本教程中Bing搜索的解析规则可能会随着Bing搜索的修订而过期

<p><br />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;

public class DemoBingCrawler extends RamCrawler {

public DemoBingCrawler(String keyword, int maxPageNum) throws Exception {

for (int pageNum = 1; pageNum

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线