【发布时间】:2018-01-16 08:01:11
【问题描述】:
我知道这个帖子可能会被关闭,但我必须尝试,因为我非常绝望。 我不是在寻找解决方案,而是在寻找一种技术。 我尝试从公共网站上抓取一些内容(我正在用 python 中的漂亮肥皂做这件事,但这没关系)。 我偶然发现了获取下载链接的问题。 考虑一下:
<a href="/games/9380-beach-buggy-racing/download-filelocal-55787" class="onclick-download-ads app-btn cuprum" title="Скачать apk файл, размером 90.0 MB">
<b class="btntext">Скачать</b>
<span class="lcol">90.0 MB</span>
<span class="rcol">(apk)</span>
</a>
按下此下载链接时,从该地址下载文件 -
http://dl3.top-android.org/?a=eyJkYXRhIjp7ImluZm8iOiJXaW5kb3dzOkNocm9tZXw4OS4xMzguNTQuMjIwIiwiZGF0YSI6eyJpc19hdXRoZW50aWNhdGVkIjpmYWxzZSwiZmlsZW5hbWUiOiJhcHBsaWNhdGlvbnMvYmVhY2gtYnVnZ3ktcmFjaW5nLTEuMi4xMi5hcGsifX19%3A1df1Gg%3AbsYoAragbQaUlQ_hjhJHL3FEliI%3A1df1Gg%3ATE9B8n9tJuMAKwBuzd1hXZmMOaA
如您所见,这不是 a 标签中的 href 地址。 我想以某种方式获得此链接。
我知道当我点击此链接时浏览器不会发出任何新请求(通过开发人员选项卡对其进行监控)。
我试图搜索所有的js文件,没有找到与dl3.top相关的...
请帮助我了解发生了什么。 据我了解,如果没有请求,我已经在浏览器中加载了所有相关信息。
【问题讨论】:
-
可能是 HTTP 重定向?如果您在浏览器上输入 href 地址(使用原始主机名)会发生什么,或者更好的是,在 curl 中?
-
另外,如果你
decodeURIComponent然后base64-decode最新链接的href,你会得到{"data":{"info":"Windows:Chrome|89.138.54.220","data":{"is_authenticated":false,"filename":"applications/beach-buggy-racing-1.2.12.apk"}}}...不知道是否有帮助! -
首先是的,这是一条线索!很酷!但是当我尝试在 python 中对其进行解码时,我得到一个错误:不正确的填充。你有什么idia为什么?你只解码 ?a= 或所有 url 之后的内容?
-
首先解码为uri组件,然后你会看到它有3个部分由“:”分隔,base64编码的json是第一个直到第一个“:”,其他2个是价值观
-
我们对这些价值观一无所知?我猜他们是问题的关键
标签: python html web-scraping