0

問題は、必要なファイルをダウンロードするためにサイトにアクセスすることですが、問題は、ファイルをダウンロードしようとするWebサイトが実際のファイルをホストせず、代わりにドロップボックスを使用してホストすることです。クリックするとすぐに小さなウィンドウにドロップボックスポップアップが表示され、ダウンロードできる空白のページにリダイレクトされたものをダウンロードします。注意すべきことは、ログインがないため、Pythonをドロップボックスがポップアップするリンクに直接誘導できますが、ファイルをダウンロードしません。

import urllib

url = 'https://thewebsitedownload.com' 

filename = 'filetobedownloaded.exe'  
urllib.urlretrieve(url, filename)

それは私が使用するコードであり、直接ダウンロードの魅力のように機能しましたが、ドロップボックスポップアップダウンロードがあるサイトに使用しようとすると、サイトのhtmlコードをダウンロードするだけです(私が知る限り) )、実際にはファイルをダウンロードしません。私はまだpython/コーディング全般に比較的慣れていませんが、これまでのところ気に入っていますが、これは私がぶつかった最初のレンガの壁であり、同様の解決策が見つかりませんでした. 前もって感謝します!サンプルコードは、私がこれまで学んできたことにとても役立ちます。

4

1 に答える 1

0

Beautifulsoupを使用して、取得した html を解析します。その後、ファイルへの href リンクを取得できます。Web には Beautifulsoup のチュートリアルがたくさんあるので、特定の状況でリンクを取得する方法を簡単に理解できると思います。

最初に、既に持っているコードを含む html をダウンロードしますが、ファイル名はありません。

import urllib
from bs4 import BeautifulSoup
import re

url = 'https://thewebsitedownload.com' 

text = urllib.urlopen(url).read()

soup = BeautifulSoup(text)
link = soup.find_all(href=re.compile("dropbox"))[0]['href']
print link
filename = 'filetobedownloaded.exe'
urllib.urlretrieve(link, filename)

docsからこれを作成しましたが、テストしていませんが、アイデアは理解できると思います。

于 2012-07-04T19:28:52.873 に答える