DNB*_*ims 5 javascript beautifulsoup python-3.x
这是我读过的页面:
<html>
<head>
<script type="text/javascript">
document.write("Hello World")
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,Hello World使用javascript在HTML页面上添加,当我使用HTML解析器时,就像BeautifulSoup解析它一样,它无法解析Hello World,有可能我解析实际结果如何客户端真的看到....?谢谢.
She*_* Wu 11
我在python中编写Web scraper时遇到了类似的问题,我发现Selenium Web Driver与BeautifulSoup结合使用非常有用.代码最终看起来像这样:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get("http://www.yoursite.com")
soup = BeautifulSoup(browser.page_source, "html.parser")
...
Run Code Online (Sandbox Code Playgroud)
使用Selenium WebDriver,还可以在功能上"等待某个DOM元素加载",这使得javascript元素的计时也更容易.
为了正确表示 DOM 在 javascript 操作后的样子,您必须实际执行 javascript。这必须通过具有 javascript 引擎和文档的 DOM(而不是文本/标记)表示形式的东西(通常是浏览器)来完成。
| 归档时间: |
|
| 查看次数: |
4058 次 |
| 最近记录: |