资讯专栏INFORMATION COLUMN

关于webmagic爬取Https网站报错的解决办法

CKJOKER / 822人阅读

摘要:目前最新版是版本,在爬取只支持的站点会报错目前作者说会在版本发布修复错误,目前的解决办法是临时适配方式,修改中的方法,重写自己实现的,并设置到中。

目前webmagic最新版是0.7.3版本,在爬取只支持TLS1.2https站点会报错
javax.net.ssl.SSLException: Received fatal alert: protocol_version
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
    at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
    at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394)
    at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353)
    at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141)
    at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
    at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at us.codecraft.webmagic.downloader.HttpClientDownloader.download(HttpClientDownloader.java:85)

目前作者说会在0.7.4版本发布修复错误,目前的解决办法是:

临时适配方式,修改HttpClientGenerator中的buildSSLConnectionSocketFactory方法,

return new SSLConnectionSocketFactory(createIgnoreVerifySSL(), new String[]{"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"},
                    null,
                    new DefaultHostnameVerifier())

重写自己实现的HttpClientDownloader,并设置到Spider中。

作者原文:Https下无法抓取只支持TLS1.2的站点

我已经把源码重新编译打包了,如果自己懒得编译可以用我打包好的这个:webmagic-core-0.7.3.jar

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68958.html

相关文章

  • 我是如何将博客转成PDF的

    摘要:但发现导出来的没有高亮语法没有语法高亮咋看啊,所以到这里我就放弃了,将就用一下博客园生成的吧爬虫学习上面提供的接口是一个生成一个文件,我是不可能一个一个将链接和标题放上去生成的因为博客园上发的也将近篇了。 前言 只有光头才能变强 之前有读者问过我:3y你的博客有没有电子版的呀?我想要份电子版的。我说:没有啊,我没有弄过电子版的,我这边有个文章导航页面,你可以去文章导航去找来看呀..然后...

    mindwind 评论0 收藏0
  • webmagic爬取分页列表数据

    摘要:是爬虫框架中比较简单易上手的一个。官网链接下面的例子是使用这个框架来爬取工商银行的私人理财推荐分页列表数据。页面链接为引入配置如果项目已经引入记录日志,则需要在中排除。 webmagic是java爬虫框架中比较简单易上手的一个。官网链接:http://webmagic.io/ 下面的例子是使用这个框架来爬取工商银行的私人理财推荐分页列表数据。页面链接为:https://mybank.i...

    Shisui 评论0 收藏0
  • 优雅的使用WebMagic框架写Java爬虫

    摘要:优雅的使用框架,爬取唐诗别苑网的诗人诗歌数据同时在几种动态加载技术中对比作选择虽然差不多两年没有维护,但其本身是一个优秀的爬虫框架的实现,源码中有很多值得参考的地方,特别是对爬虫多线程的控制。 优雅的使用WebMagic框架,爬取唐诗别苑网的诗人诗歌数据 同时在几种动态加载技术(HtmlUnit、PhantomJS、Selenium、JavaScriptEngine)中对比作选择 We...

    leejan97 评论0 收藏0
  • 【爬虫】使用java爬取mm131美女图片

    前言 最近无意间在知乎专栏看到有人使用python爬取了mm131的图片。想着自己也有过爬虫的开发经验(抱着学习的态度),故使用java也来写个小爬虫,爬虫框架用的是webmagic,传送门:https://github.com/code4craft/webmagic 实现 整个爬虫项目如下图,极其精简,其中主要实现类是Mm131Spider showImg(http://pc3dvrbm9...

    Anshiii 评论0 收藏0
  • 24小时从0到1开发阴阳师小程序

    摘要:最后放效果图感兴趣的同学欢迎扫码体验哟手机长按不能进入小程序,需要在微信发现小程序搜索式神猎手进入结尾以上所有内容均已开源,欢迎大家参考后端式神猎手后端小程序端式神猎手小程序解决方案原文地址作者 0.序 玩阴阳师的肝帝们都知道,每天早上5点和下午6点会刷新两次封印任务,每次做任务时最蛋疼的就是找各种怪物对应的副本以及神秘线索。 阴阳师提供了 网易精灵 可以进行一些数据查询,但体验实在太...

    laoLiueizo 评论0 收藏0

发表评论

0条评论

CKJOKER

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<