【发布时间】:2021-02-24 14:05:38
【问题描述】:
我正在抓取基于 JS 开发的网页。 我能够从页面中获取 HTML 内容,但是当我可视化它的 BeautifulSoup 内容时,数据似乎缺少文本信息,我看到的只是脚本信息。 (图片:soupstr 输出) 但是,当我将 .text 显式调用到 Beautiful soup 对象时,我得到了所有文本。 (图片:souptext 输出)
我们如何在 Python 上使用 Selenium Webdriver 获取由 HTML 标签和文本(基本上是 DOM 的副本)组成的纯 HTML 数据?
PS:对于非内联图像,我很抱歉,因为我还没有发布内联消息的声誉。
【问题讨论】:
-
试试
print(soup)这将给出页面的html -
Print(soup) 和可视化 str(soup) 都给出了与我附上屏幕截图相同的结果。
-
不要发布你的代码图片。在您的帖子中包含代码。那么如何从 selenium 中获取 html 以及如何将其输入到 beautifulsoup 中?
-
您很可能需要从您的 webdriver 获取页面源代码:
soup = BeautifulSoup(driver.page_source, 'html.parser') -
@chitown88
driver.page_source适用于非 javascript,但不适用于使用 javascript 开发的页面,例如此 javascript link 不适用于您的解决方案。
标签: python selenium web-scraping beautifulsoup