【问题标题】:Python: Is there a way to get HTML that was dynamically created by Javascript?Python:有没有办法获取由 Javascript 动态创建的 HTML?
【发布时间】:2014-08-25 16:16:10
【问题描述】:

据我所知,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-element 的内容?

【问题讨论】:

    标签: javascript python html parsing


    【解决方案1】:

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

    【讨论】:

    • 巧合的是,这正是我一直在寻找的。在我问之前回答了我的问题:)
    猜你喜欢
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2022-12-20
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    相关资源
    最近更新 更多