gpt4 book ai didi

python - BeautifulSoup 误解 标签

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:48 24 4
gpt4 key购买 nike

我正在使用 beautifulsoup 从烟草文档中提取元数据,如下所示:http://legacy.library.ucsf.edu/tid/bxf03e00/xml

soup = BeautifulSoup(input)
meta_data = soup.document.metadata

这可以正确识别除以下内容之外的所有标签

<area>GEE,ED/OFFICE; N408</area>

Beautiful soup 将区域标签识别为两个单独的标签:

  • 区域标签 <area></area>那是空的。
  • 内容为 GEE,ED/OFFICE; N408 的空标签

出现此错误的原因是 <area>是 HTML 标签吗?以及如何让美汤正确识别GEE,ED/OFFICE; N408作为 <area> 的内容标签?

最佳答案

核心问题是你没有告诉bs4它正在解析 XML。它假设 HTML - 将其打印出来并注意解析器如何将所有内容包装在 <html><body> 中标签。

import requests

req = requests.get('http://legacy.library.ucsf.edu/tid/bxf03e00/xml')

doc = req.text

BeautifulSoup(doc).find('area')
Out[79]: <area></area>

告诉它应该将其解析为 XML(它将使用 lxml 来执行此操作,您需要安装该依赖项,否则将会失败):

BeautifulSoup(doc,'xml').find('area')
Out[80]: <area>GEE,ED/OFFICE; N408</area>

关于python - BeautifulSoup 误解 <area> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25025298/

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