【Java-Crawler】SpringBoot集成WebMagic实现爬虫出现的问题集(一)

news/2024/7/19 9:28:19 标签: java, 爬虫, spring boot

SpringBoot集成WebMagic实现爬虫出现的问题集(一)

  • 一、SpringBoot集成WebMagic框架日志异常问题及解决方案
  • 二、使用 Firefox 驱动(geckodriver)
  • 三、设置WebMagic中site中的User-Agent(避免反爬虫

一、SpringBoot集成WebMagic框架日志异常问题及解决方案

引入 WebMagic 需要两个依赖,一个是WebMagic核心依赖webmagic-core,一个是WebMagic拓展依赖webmagic-extension,一般使用拓展依赖去拓展一个日志实现。而 SpringBoot默认的日志框架是logback,然而webmagic-core依赖中还内部依赖着reload4j日志,会引起冲突。

在这里插入图片描述

在这里插入图片描述
为了避免这个异常,可以删除这个reload4j日志内部依赖。

        <dependency>
            <groupId>us.codecraft</groupId>
            <artifactId>webmagic-core</artifactId>
            <version>0.5.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-reload4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

二、使用 Firefox 驱动(geckodriver)

由于 ChromeDriver 驱动要和其浏览器版本匹配,然而 Chrome 又有自动更新机制,所以容易造成版本不匹配问题,那解决方法自然是关闭 Chrome 的自动更新机制。但试了好多种方法都还是会自动更新,那自己选择驱动更新效果更好的 geckodriver 了。

下面是我现阶段的 Firefox 版本:

在这里插入图片描述
对应的驱动是0.32.2版本的(下载网址:https://github.com/mozilla/geckodriver/releases):

在这里插入图片描述

三、设置WebMagic中site中的User-Agent(避免反爬虫

在进行爬虫的时候总是能遇到反爬虫的机制,有的时候是限制次数,有的时候就强行让你登录恶心你等等,那它在写反爬虫的时候,可能是根据你的user-agent身份来判断你是不是爬虫者的,那如果是这种情况的话,我们可以设置user-agent来进行反反爬虫。以下是设置的代码:

java">Site.me()
            .setUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3");

根据上面所述,也可以知道:即使使用了自定义的User-Agent,也不能保证100%避免被反爬虫机制识别,因此还需要结合其他反爬虫技术来提高爬虫的稳定性和可靠性。


http://www.niftyadmin.cn/n/362109.html

相关文章

Springboot2.5.x版本之自动创建(H2/DERBY/HSQL)数据源源码分析-yellowcong

场景&#xff1a;当我们没有配置mysql&#xff0c;postgresql等数据源的时候&#xff0c;pom.xml里面引入了H2/DERBY/HSQL jar包&#xff0c;也没有配置连接&#xff0c;却有数据源创建的情况。 springboot启动的第一步 1.DataSourceAutoConfiguration 配置类启动 2.DataSource…

《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序

《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序 题目1题目2题目3题目4题目5题目6总结 题目1 将下面的程序编译、连接&#xff0c;用 Debug 加载、跟踪&#xff0c;然后回答问题 assume cs:code, ds:data, ss:stack data segmentdw 0123h,0456h,0789h,0abch,0def…

智慧档案馆八防是怎么建设的?都需要注意哪些内容

智慧档案馆八防环境监控系统一体化解决系统方案 智慧档案库房一体化平台通过智慧档案管理&#xff0c;实现智慧档案感知协同处置功能&#xff1b;实现对档案实体的智能化识别、定位、跟踪监控&#xff1b;实现对档案至智能密集架、空气恒湿净化一体设备、安防设备&#xff0c…

科东软件Intewell操作系统入选优秀基础软件与工业软件TOP10、优秀应用解决方案TOP10

日前&#xff0c;以“筑牢粤港澳软件产业新生态、打造湾区高质量发展新引擎”为主题的“2023年第十一届粤港云计算大会暨第六届粤港澳大湾区ICT大会暨粤港澳软件产业高质量发展大会”在广州隆重举行。大会上&#xff0c;进行了2022年广东软件风云榜上榜产品颁奖仪式&#xff0c…

jpackage打包命令(JDK14及以上)

长期以来&#xff0c;Java开发人员一直希望构建可以直接安装在本机平台上的应用程序&#xff0c;而不是分发jar和配置类路径。使用jpackage&#xff0c;可以按照特定平台的用户使用的方式安装/卸载Java应用程序&#xff0c;它支持Windows上的msi和exe格式&#xff0c;MacOS 上的…

悠可集团再获金鼠标3项大奖,自研营销工具助推全渠道数字营销

5月19日,第14届金鼠标数字营销大赛评选结果揭晓,悠可集团斩获3项大奖,其中悠可集团被评为“年度数字营销杰出代理商”,悠可DTC团队自主研发的智能广告投放引擎Turbo Media及点正科技申报的KOL优先自动化工具均荣获“年度最佳数字营销工具”奖项。 据主办方介绍,本届金鼠标数字营…

【09】Nginx之缓存集成

Nginx缓存集成 缓存的概念 缓存就是数据交换的缓冲区(称作:Cache),当用户要获取数据的时候&#xff0c;会先从缓存中去查询获取数据&#xff0c;如果缓存中有就会直接返回给用户&#xff0c;如果缓存中没有&#xff0c;则会发请求从服务器重新查询数据&#xff0c;将数据返回给…

day4-项目软硬件环境分析和通讯结构体

硬件部分 fs4412开发板 3*zigbee模块 摄像头 gprs&#xff08;用于通讯&#xff09; fs4412部分 3个USB接口分别用于zigbee协调器、usb摄像头、gprs模块 陀螺仪与加速计作为数据采集端&#xff0c;发送到HTML USB-OTG用于安卓下载 电位器用于测量电压 蜂鸣器基于PWM来…