htmlunit抓取动态网页(SC@SDUSC简述一下Gecco框架线程和队列模型#)
优采云 发布时间: 2021-12-13 15:06htmlunit抓取动态网页(SC@SDUSC简述一下Gecco框架线程和队列模型#)
2021SC@SDUSC
简述Gecco爬虫框架的线程和队列模型
##为什么使用这个模型
##如何动态获取初始请求队列如果想通过多线程提高爬虫的效率,就需要想办法把请求放入初始请求队列。我们可以先通过爬虫引擎保存要爬取的请求。另一个爬虫引擎将第一个爬虫引擎获取到的请求作为初始请求启动多线程操作。简单的说,初始请求也可以抓取,不需要硬编码。下面是jd使用多线程捕获的一段代码
//先获取分类列表,放入AllSortPipeline.sortRequests
HttpGetRequest start = new HttpGetRequest("http://www.jd.com/allSort.aspx");
start.setCharset("GBK");
GeccoEngine.create()
.classpath("com.geccocrawler.gecco.demo.jd")
.start(start)
.run();
//分类列表下的商品列表采用3线程抓取
GeccoEngine.create()
.classpath("com.geccocrawler.gecco.demo.jd")
//从上面的GeccoEngine获取初始请求
.start(AllSortPipeline.sortRequests)
.thread(5)
.interval(2000)
.start();
这是爬虫框架的线程和队列的一些基本内容。