我正在尝试解析一些包含Flash播放器的网页,并使用urllib2接收页面HTML。
此网页正在使用jwplayer,我需要从网页中获取的数据位于Flash Object标记内。看起来像这样:
<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标签的值。问题是urllib2下载页面就好像它没有flash安装一样,获取此代码而不是上面的内容:
<div id="jwplayer-1">
<a href="http://get.adobe.com/flashplayer/">Get Adobe Flash Player</a> to watch this video.
</div>
我该怎么做才能让urllib2下载页面,好像安装了Flash Player一样?
感谢。
答案 0 :(得分:2)
并不是它没有安装闪存,它是jwplayer javascript没有运行并用播放器替换该div。在浏览器中关闭Javascript,您将获得相同的结果。
你需要模仿一个浏览器 - Selenium是一个选项,虽然围绕SO的快速搜索发现了其他几个。