Python:有没有办法获得由Javascript动态创建的HTML?

时间:2014-08-25 16:16:11

标签: javascript python html parsing

据我所知,LyricWikia就是这种情况。歌词(example)可以从浏览器访问,但在源代码中找不到(在大多数情况下可以用 CTRL + U 打开)浏览器)或使用Python阅读网站内容:

from urllib.request import urlopen

URL = 'http://lyrics.wikia.com/Billy_Joel:Piano_Man'

r = urlopen(URL).read().decode('utf-8')

测试:

>>> 'Now John at the bar is a friend of mine' in r
False
>>> 'John' in r
False

但是当您选择并查看显示歌词的框的源代码时,您会看到:<div class="lyricbox">[...]</div>

有没有办法用Python获取div - 元素的内容?

1 个答案:

答案 0 :(得分:2)

你可以试试Ghost.py,这本质上是Python的Phantom.js。它嵌入了WebKit,因此能够在页面上执行JavaScript,就像您手动导航到页面一样。然后,它允许您访问DOM结构。

相关问题