WebMagic 爬虫框架问题描述
问题描述
- ❌Multiple bindings were found on the class path
- ❌Could not get a resource from the pool
- ✔️更换为HttpComponents
❌Multiple bindings were found on the class path
pom.xml
<dependency><groupId>us.codecraft</groupId><artifactId>webmagic-core</artifactId><version>0.7.3</version>
</dependency>
最近新项目需要使用 WebMagic 爬虫框架时,发现该包里面有两个日志,导致出现 SLF4J: Class path contains multiple SLF4J bindings. 问题说严重也不严重,毕竟不影响程序的运行。
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/19095/.m2/repository/org/slf4j/slf4j-log4j12/1.7.32/slf4j-log4j12-1.7.32.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/19095/.m2/repository/ch/qos/logback/logback-classic/1.2.6/logback-classic-1.2.6.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
但是红色的信息还是比较难受的,因此需要在引用依赖项里面排除某个日志,可以使用 exclusions.exclusion
标签里面来排除日志。
<dependency><groupId>us.codecraft</groupId><artifactId>webmagic-core</artifactId><version>0.7.3</version><!-- 排 除 日 志 --><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion></exclusions>
</dependency>
- multiple_bindings | SLF4J Error Codes
❌Could not get a resource from the pool
public class crawlerProcessTest {@Testpublic void firstSpider() {Spider.create(new GithubRepoPageProcessor()).addUrl("https://www.baidu.com").setScheduler(new RedisScheduler("localhost")).addPipeline(new JsonFilePipeline("")).thread(5).run();}
}
通过 webmagic-extension 默认例子 GithubRepoPageProcessor 去获取页面数据时,却没有正确运行起来。
redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool...
Caused by: redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket....
Caused by: java.net.SocketTimeoutException: connect timed out...
这个就是因为没有安装和配置 redis ,导致连接不上 redis。
这里有二种方法:
- 安装 redis 数据库
docker pull redis docker run -itd --name webmagic -p 6379:6379 redis
- 不设置 RedisScheduler 数据源
setScheduler 不设置 RedisScheduler 数据源改为 QueueScheduler ,这样数据都会在打印到控制台里面。public class crawlerProcessTest {@Testpublic void firstSpider() {Spider.create(new GithubRepoPageProcessor()).addUrl("https://www.baidu.com")// .setScheduler(new RedisScheduler("localhost")).setScheduler(new QueueScheduler()).addPipeline(new JsonFilePipeline("")).thread(5).run();} }
✔️更换为HttpComponents
众所周知 WebMagic 是基于 HttpClient 开发的,HttpClient 在老早以前就被 Apache 弃用了,单独开发出 HttpComponents 来代替 HttpClient,似乎是为了解决授权的问题。
Apache HttpComponents:依赖项
排除日志模块
为什么排除 httpclient5 里面的日志,当然是因为项目已经拥有了其他日志文件,并且已经配置好了。
<properties><httpClient-components.version>5.1.3</httpClient-components.version> </properties> <dependencies><dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifactId><version>${httpClient-components.version}</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId></exclusion></exclusions></dependency> </dependencies>
如果你是无意刷到这篇文章并看到这里,希望你给我的文章来一个赞赞
WebMagic 爬虫框架问题描述相关推荐
- java 使用webmagic 爬虫框架爬取博客园数据
java 使用webmagic 爬虫框架爬取博客园数据存入数据库 学习记录 webmagic简介: WebMagic是一个简单灵活的Java爬虫框架.你可以快速开发出一个高效.易维护的爬虫. ht ...
- 使用WebMagic爬虫框架爬取暴走漫画
WebMagic是黄亿华先生开发的一款Java轻量级爬虫框架.我之所以选择WebMagic,因为它非常轻量级,可以学习爬虫的原理,而且用WebMagic非常容易进行功能扩展.也许你会听过另一个爬虫框架 ...
- Webmagic 爬虫框架 爬取马蜂窝、携程旅游、汽车之家游记信息
WebMagic学习 遇到的问题 Log4j错误 解决:在src目录下添加配置文件 log4j.properties log4j.rootLogger=INFO, stdout, filelog4j. ...
- magicmatch java_签名图片一键批量生成 使用Java的Webmagic爬虫实现
使用Webmagic爬虫实现的签名档一键生成 实现原理 这里爬取的网址是http://jiqie.zhenbi.com/c/ 然后获取到里面提交数据,提交地址,在对这些数据进行Post提交 解析htm ...
- 使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)
使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图) 初学Scrapy,实现爬取网络图片并保存本地功能 一.先看最终效果 保存在F:\pics文件夹下 二.安装scrapy 1.python的安装 ...
- SpringBoot + WebMagic实现一个的爬虫框架
作者 | jessehua 来源 | www.jianshu.com/p/cfead4b3e34e WebMagic是一个开源的java爬虫框架.WebMagic框架的使用并不是本文的重点,具体如何使 ...
- 爬虫框架webmagic与spring boot的结合使用--转
原文地址:http://www.jianshu.com/p/c3fc3129407d 1. 爬虫框架webmagic WebMagic是一个简单灵活的爬虫框架.基于WebMagic,你可以快速开发出一 ...
- 网络爬虫框架Webmagic
1 谈谈网络爬虫 1.1 什么是网络爬虫 在大数据时代,信息的采集是一项重要的工作,而互联网中的数据是海量的,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高.如何自动高效地获取互联网中我 ...
- 基于SpringBoot+WebMagic实现一个的爬虫框架
点击关注公众号,实用技术文章及时了解 来源:www.jianshu.com/p/cfead4b3e34e WebMagic是一个开源的java爬虫框架.WebMagic框架的使用并不是本文的重点,具体 ...
最新文章
- SpringMVC异常报406 (Not Acceptable)的解决办法
- 设备文件的创建mknod
- 模拟N场比赛理解自顶向下的程序设计思维
- 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持
- 将SQL Server查询导出本地excel(mail发送)
- 多线程是并行还是并发_并发,并行,线程,进程,异步和同步有相关性吗?
- php5.5开发环境配置,windows下配置php5.5开发环境及开发扩展
- Codeforces Round #246 (Div. 2) D. Prefixes and Suffixe 后缀数组
- 陈彤:一个网络编辑的11年
- fread 单独测试没有问题 在正式项目里面丢数据 可能是系统资源不足 预读出了问题
- 如何在思科虚拟PC机信息进行修改
- windows7 系统下载(2)
- android9支持的tf卡格式,老手机福音 三星安卓9.0测试存储卡装应用功能
- 在php中使用高德api,javascript - 高德地图定位如何调用api?
- c语言输出宽度右对齐,输出宽度设置
- Maven 设置项目编码
- PS动作快速把图片做成手绘油漆涂鸦画效果
- 【Medium Python】第三话:python多线程为什么不能并行?
- 日本最新矢量图_日本地图的制作_都道府县_1都1道2府和43县(県)_日本shape
- SD155非接触五维位移监测仪应用建筑物监测 大坝监测 滑坡监测 桥梁监测 地表监测 墙裂监测
热门文章
- 【程序设计】VB.NET程序设计学习指南
- 上证50etf期权合约是什么?上证50etf期权代理怎么样?
- Vue 插件 vee-validate校验插件详解大全
- VC绘图中的双缓冲技术
- 关于vue的seo优化
- 酷狗Andorid5.0新版 手机K歌上风突显
- ajax局部刷新页面
- Libevent 2.0.20源码分析-event、eventop结构体分析
- Photoshop: Editing Video and Creating Slideshows Photoshop:编辑视频和创建幻灯片 Lynda课程中文字幕
- python中fasta转为字典