gpt4 book ai didi

python - 使用 BeautifulSoup 解析格式错误的属性

转载 作者:搜寻专家 更新时间:2023-10-31 21:47:21 27 4
gpt4 key购买 nike

我正在尝试提取包含无效未转义引号的属性:

<meta content="mal"formed">

像这样使用 BeautifulSoup 时:

soup.find('meta')['content']

正如预期的那样,结果是 mal

有没有办法让 BeautifulSoup 将未转义的引号视为属性的一部分,因此结果将是 mal"formed

最佳答案

在使用正则表达式反复试验之后,这是我迄今为止最好的解决方案:

html = re.sub('(content="[^"=]+)"([^"=]+")', r'\1&quot;\2', html)
soup = BeautifulSoup(html)
soup.find('meta')['content']

说明:起初我试图只在所需元素上运行正则表达式。然而,在执行 str(element) 时,BeautifulSoup 不会返回原始 html,而是返回一个重新格式化的 html,它已经不包含 formed(无效)部分属性。

所以我的解决方案是基于在整个 HTML 中搜索这种格式错误的属性,并使用正则表达式修复它。当然,这非常适合我的情况。

我们将不胜感激更好(并且希望不那么骇人听闻)的解决方案。

关于python - 使用 BeautifulSoup 解析格式错误的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344448/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com