0

Flash Playerを含むWebページを解析し、urllib2を使用してページのHTMLを受信しようとしています。

このWebページはjwplayerを使用しており、Webページから取得する必要のあるデータはFlashObjectタグ内にあります。次のようになります。

<object width="100%" height="100%" type="application/x-shockwave-flash" data="https://salsalessons.tv/wp-content/themes/bstrap/js/jwplayer/player.swf" bgcolor="#000000" id="jwplayer-1" name="jwplayer-1" tabindex="0">
    <param name="allowfullscreen" value="true">
    <param name="allowscriptaccess" value="always">
    <param name="seamlesstabbing" value="true">
    <param name="wmode" value="opaque">
    <param name="flashvars" value="SomeValues">
</object>

必要なデータは、これらのparamタグの1つの値です。問題は、urllib2がフラッシュインストールがないかのようにページをダウンロードすることです。代わりに、上記のはずの場所でこのコードを取得します。

<div id="jwplayer-1">
<a href="http://get.adobe.com/flashplayer/">Get Adobe Flash Player</a> to watch this video.
</div>

urllib2がFlashPlayerがインストールされているかのようにページをダウンロードするにはどうすればよいですか?

ありがとう。

4

1 に答える 1

2

フラッシュがインストールされていないわけではありません。jwplayerjavascriptが実行されておらず、そのdivがプレーヤーに置き換えられています。ブラウザでJavascriptをオフにすると、同じ結果が得られます。

ブラウザを模倣する必要があります-Seleniumは1つのオプションですが、SOをすばやく検索すると、他のいくつかのオプションが見つかりました。

Javascript用のPythonスクレーパー?

Pythonを使用してJavaScriptで生成されたデータをスクレイピングする

于 2012-12-01T06:18:48.983 に答える