java 爬虫大型教程(四)
基本爬虫进阶(二)
1. 爬虫的监控
你可以利用爬虫的监控功能查看爬虫的执行情况——已经下载了多少页面、还有多少页面、启动了多少线程等信息。该功能通过JMX实现,你可以使用Jconsole等JMX工具查看本地或者远程的爬虫信息。
如果你完全不会JMX也没关系,因为它的使用相对简单,这次教程比较详细的讲解使用方法。如果要弄明白其中原理,你可能需要一些JMX的知识,推荐阅读:JMX整理。
注意: 如果你自己定义了Scheduler,那么需要用这个类实现MonitorableScheduler接口,才能查看“LeftPageCount”和“TotalPageCount”这两条信息。
1.1 为项目添加监控
添加监控非常简单,获取一个SpiderMonitor的单例SpiderMonitor.instance(),并将你想要监控的Spider注册进去即可。你可以注册多个Spider到SpiderMonitor中,这里对前面的例子在进行改造一下,增加监控功能。
public static void main(String[] args) throws Exception {
long startTime, endTime;
System.out.println("开始爬取...");
startTime = System.currentTimeMillis();
Spider cnblogSpider = Spider.create(new CdnRepoPageProcessor())
//从https://www.cnblogs.com开始抓
.addUrl("https://www.cnblogs.com/")
//指定数据存储路径
.addPipeline(new JsonFilePipeline(

这篇教程详细介绍了如何在Java爬虫中实现监控,包括通过JMX查看爬虫执行状态,添加监控到Spider,以及如何使用JConsole进行监控。此外,还讲解了配置代理的步骤,如设置单一HTTP代理和代理池,并提供了处理非HTTP GET请求的方法,特别是如何处理POST请求的去重问题。
最低0.47元/天 解锁文章
3044

被折叠的 条评论
为什么被折叠?



