首页 新闻 赞助 找找看

最近在写一个爬虫程序,遇到一点小问题

0
悬赏园豆:20 [已解决问题] 解决于 2018-08-31 15:24

爬取的内容来自视频网站,网站大部分链接都是迅雷的,我通过解密后得到链接如下:

http://dl74.80s.im:920/1610/%E7%BE%8E%E4%B8%BD%E4%BA%BA%E7%94%9F/%E7%BE%8E%E4%B8%BD%E4%BA%BA%E7%94%9F.mp4

但是直接通过浏览器访问是访问不了的,但是如果把这个链接放到迅雷中,是可以识别并下载的,

请教一下是什么原理

Crazydragcool的主页 Crazydragcool | 初学一级 | 园豆:7
提问于:2018-08-29 09:53
< >
分享
最佳答案
0

https://blog.csdn.net/jiftlixu/article/details/18983999
迅雷使用的是标准的HTTP协议,使用的POST请求,POST内容被加密无法得知

Crazydragcool | 初学一级 |园豆:7 | 2018-08-31 15:23
其他回答(7)
0

会不会是根据浏览器的 User-Agent 进行判断的,或者迅雷http请求时增加其他特别的 HTTP Header。用网络嗅探器看一下迅雷发送的请求内容。

收获园豆:5
大豆男生 | 园豆:608 (小虾三级) | 2018-08-29 10:21

好的,我看一下

支持(0) 反对(0) Crazydragcool | 园豆:7 (初学一级) | 2018-08-29 10:30
0

下载方式和途径完全不一样,我就默默的看你纠结下去。

举个例子,假设仅为http方式,它可以下载 非和谐网络的东西,先假设你的下载方式也都是全对的,我只问你能访问那个网络不?

收获园豆:5
花飘水流兮 | 园豆:13560 (专家六级) | 2018-08-29 11:14

我用其他的下载工具也不能下载,我猜想是不是因为这个链接本身的问题,迅雷之所以可以下载是因为迅雷并非从这个链接下载的,而是找到同名文件去下载

支持(0) 反对(0) Crazydragcool | 园豆:7 (初学一级) | 2018-08-29 11:44

@Crazydragcool: 你可以把自己的下载的过程(函数)去掉,直接调用迅雷模块。

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2018-08-29 12:31

@Crazydragcool: 不是名称,你自己想想秒传是怎么做的,怎么可能名称检测。

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2018-08-29 12:32
0

这是迅雷的专有链接格式,没楼上说的那么复杂,你把迅雷收购了就行。

收获园豆:5
爱编程的大叔 | 园豆:30839 (高人七级) | 2018-08-29 12:16
0

迅雷确实特殊

你风致 | 园豆:2211 (老鸟四级) | 2018-08-29 17:49
0

为什么我觉得就是urlencode了?

wdwwtzy | 园豆:114 (初学一级) | 2018-08-29 18:57

urlencode后依然不能访问

支持(0) 反对(0) Crazydragcool | 园豆:7 (初学一级) | 2018-08-30 08:59
0

迅雷下载链接有其自己的协议,去研究下,

然后,你自己也可以发布 仅使用迅雷下载的文件了,

这只是第一个链接,后面会有更多链接、socket通信完成下载吧,,而浏览器显然没有支持这个功能,除非安装了迅雷插件,最后还是给迅雷下载,,

迅雷协议分析:https://blog.csdn.net/xumesang/article/details/51505142

FYI

收获园豆:5
快乐的凡人721 | 园豆:3912 (老鸟四级) | 2018-08-29 19:36

链接失效的

 

支持(0) 反对(0) Crazydragcool | 园豆:7 (初学一级) | 2018-08-30 08:59
0

傻啊,一个是http请求,一个是迅雷的thunder自创的请求,请求协议,和方式肯定不一样

李漫 | 园豆:310 (菜鸟二级) | 2018-08-31 11:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册