websocket的url可以请求https_解决火车头7.6版本无法采集部分https站点问题

火车采集器是市面上应用比较广泛的一款数据采集工具,相信很多做网站的朋友都或多或少听说过。由于某些原因,目前使用量较多的还是2013年推出的火车头采集器7.6的版本。火车头7.6版本由于发布时间久远,虽然采集器大部分功能都还可以正常使用,但是现在很多网站都从之前的http协议切换到了https协议。

2389ca1013e329aea84a11ff48023434.png

当火车头7.6遇到新版的https协议时,经常无法完成网页请求而无法继续使用,比如部分TLS 1.3加密的网站,用火车头采集会直接请求不到数据,如图

06c0be0ed21cb8939b53f5807fdcfe57.png

那么针对这种由于https站点协议问题,是否有简单可用的方法来解决呢?

首先最优的方案当然是使用新版的火车头采集器V9版本了,当然某些功能需要付费才能使用,而且费用不菲。那么还有一些其他的办法吗?

答案也是有的,经过测试发现,火车头7.6版只是无法完成对这类网页的请求响应,但是如果能正常获取到网页数据,后面的数据处理都是可以使用的。所以我们需要解决的就是如何让火车头获取到这个源码。

我们可以在本地搭建一个简易http服务,用这个服务去请求源代码,然后用火车头请求这个简易http即可。原理就是给火车头和目标网页中间加了一层中转,从而解决火车头无法直接请求获取源代码的问题。

我把这个流程写成了一个软件,大家可以直接下载打开即可使用。

4f902f84280b4bfd861997ee715e8e9a.png

使用该软件的优缺点:

先说缺点

1,在采集数据时需要该软件保持运行,从而实现请求的中转

2,编写采集规则时,需要在网址前面添加简易http服务的前缀"http://127.0.0.1:8000?url=",当然这个在采集规则中可以很简单的通过内容替换功能来过滤掉

再说优点:

1,解决了火车头7.6版的部分https站点无法采集问题

2,可以通过修改源代码,在简易http请求中手动添加一些特殊header信息,这些功能在7.6版本中是没有的,但是在v9版本中存在。所以通过这个软件来实现一些v9版本中才存在的功能

使用说明

1,首先双击打开locoy-https.exe,使用时请勿关闭软件

948ac5d4df97413cf2b71e5ad057068e.png

2,制作采集规则,在起始网址处输入http://127.0.0.1:8000/?url=你要采集的网址,其他部分跟正常规则定制是一样的

d02eb2667a4e153428ed3b8b7100572d.png

使用前后的效果对比

06c0be0ed21cb8939b53f5807fdcfe57.png

5e15292e947b2a9ec013d7e19eb9a77f.gif

有人可能会问这样设置之后采集效率是否会变慢。一般来说,该软件启动的是本地http服务,火车头去请求这个本地http服务是很快的,所以不会有明显的影响

下载地址

代码仓库,期待star:https://github.com/beijiyouyu/locoy-https

软件下载地址:https://raw.githubusercontent.com/beijiyouyu/locoy-https/master/dist/locoy-https.exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值