使用urllib2解析包含flash的网页

时间:2012-11-30 22:57:26

标签: python parsing web-scraping urllib2

我正在尝试解析一些包含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一样?

感谢。

1 个答案:

答案 0 :(得分:2)

并不是它没有安装闪存,它是jwplayer javascript没有运行并用播放器替换该div。在浏览器中关闭Javascript,您将获得相同的结果。

你需要模仿一个浏览器 - Selenium是一个选项,虽然围绕SO的快速搜索发现了其他几个。

Python Scraper for Javascript?

Scraping javascript-generated data using Python