https://www.apkmirror.com/wp-content/themes/APKMirror/download.php?id=215041などのリンクから(APK)ファイルをダウンロードしようとしています。ブラウザにリンクを入力すると、ファイルを開くか保存するダイアログが表示されます(下記参照)。Pythonで、urllib.urlretrieveが「離れる」と言うファイルをダウンロードします
私は、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
の違いがあります。誰かがこの違いを説明し、それを排除する方法はありますか?
サーバーは、通常のブラウザではなくコードを使用してファイルをダウンロードしようとしていることに気づいて、別のファイルを提供しているユーザーエージェントを調べている可能性があります。正しいヘッダーを追加することでユーザーエージェントをカスタマイズできます。これにより、通常のブラウザをスプーフィングする*ことができます。 –