1

私はPythonを使用してURLに取り組んでいます。
URLをクリックすると、Excelファイルを取得できます。
しかし、次のコードを実行すると、奇妙な出力が得られます。

>>> import urllib2
>>> urllib2.urlopen('http://intranet.stats.gov.my/trade/download.php?id=4&var=2012/2012%20MALAYSIA%27S%20EXPORTS%20BY%20ECONOMIC%20GROUPING.xls').read()

出力:

"<script language=javascript>window.location='2012/2012 MALAYSIA\\'S EXPORTS BY ECONOMIC GROUPING.xls'</script>"

なぜurllib2でコンテンツを読み取れないのですか?

4

2 に答える 2

1

http リスナー (または Google Chrome 開発者ツール) を使用して確認してください。ページにアクセスすると、javascript を使用したリダイレクトがあります。

最初の URL にアクセスし、結果を解析して、実際の URL を再度取得する必要があります。

于 2012-05-01T10:53:07.353 に答える
1

この質問の@Kaiは、モジュールを使用してjavascriptリダイレクトへの答えを見つけたようですSelenium

from selenium import webdriver

driver = webdriver.Firefox()
link = "http://yourlink.com"
driver.get(link)

#this waits for the new page to load
while(link == driver.current_url):
  time.sleep(1)

redirected_url = driver.current_url
于 2012-05-01T11:01:24.320 に答える