如何用Python解析javascript结果

时间:2014-04-18 12:49:14

标签: javascript python html beautifulsoup

我的Python脚本出现问题。我想要做的就是使用id值:value解析div元素并存储所有更改的值。此元素的值由javascript生成。这意味着元素的值取决于用户的输入。更具体地说,html元素看起来像

<div id="value">...Here the frequently changed value generated by javascript...</div>

我的python脚本如下:

from bs4 import BeautifulSoup
import urllib
x=urllib.urlopen("http://example.com")
s = x.read()
soup = BeautifulSoup(s)

m = soup.find("div",{"id":"value"})
val = m.text
print val

结果是,但在网页上的更改很明显!请帮我搞清楚。

1 个答案:

答案 0 :(得分:0)

如果该值是由javascript生成的 - 最简单的解决方案是利用真实的浏览器来抓取网页。这是selenium有用的地方。这是一个简单的例子:

from selenium import webdriver

browser = webdriver.Firefox()
browser.get('http://example.com')

element = browser.find_element_by_id('value')
print element.text