【问题标题】:How does BeautifulSoup get text from soup of HTML when given HTML data obtained from Selenium webdriver给定从 Selenium webdriver 获得的 HTML 数据时,BeautifulSoup 如何从 HTML 汤中获取文本
【发布时间】:2021-02-24 14:05:38
【问题描述】:

我正在抓取基于 JS 开发的网页。 我能够从页面中获取 HTML 内容,但是当我可视化它的 BeautifulSoup 内容时,数据似乎缺少文本信息,我看到的只是脚本信息。 (图片:soupstr 输出) 但是,当我将 .text 显式调用到 Beautiful soup 对象时,我得到了所有文本。 (图片:souptext 输出)

Code snippet

Image: soupstr output

Image: souptext output

我们如何在 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


【解决方案1】:

你可以这样做:

soup_page = BeautifulSoup(ele_html.content,"html.parser")
print(soup_page)

【讨论】:

    猜你喜欢
    • 2017-02-14
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 2013-05-24
    • 2016-03-24
    相关资源
    最近更新 更多