2017-01-08 11 views
0

Microsoft UpdateカタログのWebページから更新用バイナリのダウンロードURLを取得しようとしています。私がターゲットのバイナリURLを持っている新しいウィンドウに私を連れて行くダウンロードボタンが存在します。Microsoft UpdateカタログのWebページから更新バイナリURLを取得する方法は?

カタログWebページを解析してバイナリURLを取得する方法を教えてください。

私は次のよう

import urllib.request 

def main(): 
    url = 'https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB3205400' 
    offlinePage = 'catalog.html' 
    print(url) 
    sourceWebPage(url, offlinePage) 

def sourceWebPage(url, offlinePage): 
    request=urllib.request.Request(url,None,headers) 
    response = urllib.request.urlopen(request) 
    data = response.read() 
    with open(offlinePage, 'wb') as f: 
     f.write(data) 

if __name__ == '__main__': 
    main() 

を試みたが、保存されたHTMLのソースファイルは、ターゲットバイナリURLへのリンクを持っていません。

答えて

1
<a id="431bdad0-e68b-4275-8f14-e9c90fa2a9b0_link" href="javascript:void(0);" onclick="goToDetails(&quot;431bdad0-e68b-4275-8f14-e9c90fa2a9b0&quot;);"> 

ダウンロードポップアップウィンドウはJavaScriptによって生成され、あなたはJavaScriptを処理するためにrequestsまたはurllibを使用することはできません。私はセレンを使用することをお勧めします..

+0

ありがとうございました。 他の方法はありますか? Seleniumがなければ、JavaScriptをインラインで実行して次のページに行くことはできません。 –

+0

@Alen NishabuブラウザでJavascriptが動作しているため、JavaScriptをインラインで実行することはできません –

+0

さて、AFAIK Seleniumは、ブラウザでアクションを実行する必要があります。私はブラウザの目に見えるインスタンスを呼び出さずに方法が必要です。 urllibのようなもの。 –

関連する問題