我试图从https://www.apkmirror.com/wp-content/themes/APKMirror/download.php?id=215041等链接下载(APK)文件。当您在浏览器中输入链接时,会弹出一个对话框来打开或保存文件(见下文)。
我想使用Python脚本保存文件。我尝试过以下方法:
import urllib
download_link = 'https://www.apkmirror.com/wp-content/themes/APKMirror/download.php?id=215041'
download_file = '/tmp/apkmirror_test/youtube.apk'
if __name__ == "__main__":
urllib.urlretrieve(url=download_link, filename=download_file)
但结果youtube.apk
仅包含单词"离开"。
由于我可以通过在浏览器的地址栏中粘贴链接来下载文件,因此在urllib.urlretrieve
和{{1}}之间必须存在一些区别,这会使其无效。有人可以解释这种差异以及如何消除它吗?
答案 0 :(得分:2)
您不应该以编程方式访问该下载页面,因为robots.txt中不允许这样做: https://www.apkmirror.com/robots.txt
话虽如此,您的请求标题也不同。默认情况下,Python将User-Agent设置为类似“Python ...”的内容。这是最有可能发现的原因。