【问题标题】:BeautifoulSoup Extract text from img tag - PythonBeautifulSoup 从 img 标签中提取文本 - Python
【发布时间】:2021-01-09 03:35:48
【问题描述】:

我想知道如何提取存储在 html 中的 img 标记之后的文本。 hmtl 看起来像这样:

<img style="vertical-align:-3px" src="/images/icons/flag_green.png"> == $0 " 17.12.2020"

我想提取日期“17.12.2020”

到目前为止我尝试了什么:

Date = pageSoup.find_all("img", {"style": "vertical-align:-3px"})

我得到的是除了想要的日期之外的所有内容。

Date[0].text

在这里不起作用....

希望有人可以帮助我。非常感谢你们

【问题讨论】:

  • 不,你不能。图像中不包含任何内容。提供父元素。然后我可以给你另一个你可以提取的替代路径。从 img 你不能。
  • 感谢您的信息。我是从父元素那里得到的。不知道我必须从那里得到它。

标签: python html image web-scraping beautifulsoup


【解决方案1】:

您可以尝试使用正则表达式。 假设日期始终采用以下格式:[DD].[MM].[YYYY]:

import re 
re.search("([0-9]{2}\.[0-9]{2}\.[0-9]{4})", Object)

其中“Object”是 hmtl 字符串的存储位置。

【讨论】:

    【解决方案2】:

    尝试在引号" 上拆分 HTML。

    from bs4 import BeautifulSoup
    
    html = """<img style="vertical-align:-3px" src="/images/icons/flag_green.png"> == $0 " 17.12.2020"""
    soup = BeautifulSoup(html, "html.parser")
    
    >>> print(soup.find("img").next.split('"')[-1])
     17.12.2020
    

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 2020-12-01
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2013-04-06
      • 1970-01-01
      • 2014-05-22
      相关资源
      最近更新 更多