Python:有没有一种方法可以获得由Javascript动态创建的HTML
Python: Is there a way to get HTML that was dynamically created by Javascript?
据我所知,LyricWikia就是这样。歌词(例如)可以从浏览器访问,但在源代码中找不到(在大多数浏览器中可以用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
-元素的内容?
您可以尝试Ghost.py,它本质上是Python的Phantom.js。它嵌入了WebKit,因此能够在页面上执行JavaScript,就像您手动导航到页面一样。然后,它允许您访问DOM结构。
相关文章:
- 如何使Javascript动态html表及其上的事件
- 使用JavaScript动态插入DIV的成本有多高
- Javascript动态变量(添加了随机数)
- JavaScript-动态SVG-onload属性-未触发事件
- 传递给 PHP 表单时 JavaScript 动态变量上的未定义索引
- 如何在没有ajax的情况下将javascript动态数据发送到php变量
- 使用javascript动态创建html内容/元素
- 带有多个答案选项的Javascript动态数组窗口
- JavaScript:动态扩展原型是一种糟糕的做法
- Javascript+动态菜单+当前链接样式(CSS)+基于PHP的网站
- javascript动态内容与选择长运行脚本
- Javascript:动态更改CSS文件+Cookie
- 使用javascript动态计算top属性
- 使用javascript动态选择幻灯片放映的图像
- 如何访问用javascript动态生成的textarea的文本内容
- Javascript动态表,每个单元格都有一个onmouse事件
- Php,Javascript-动态表单id's和动态验证
- JavaScript动态附加到搜索字段
- 如何将CSRF令牌添加到javascript动态生成的表单中
- 从Javascript动态构建JSON对象列表