我正在使用beautifulsoup从烟草文件中提取元数据,如下所示:http://legacy.library.ucsf.edu/tid/bxf03e00/xml
soup = BeautifulSoup(input)
meta_data = soup.document.metadata
这可以正确识别除以外的所有标签
<area>GEE,ED/OFFICE; N408</area>
美丽的汤将区域标记识别为两个单独的标记:
-
区域标记
<area></area>
为空 . -
内容为
GEE,ED/OFFICE; N408
的空标记
是否会发生此错误,因为 <area>
是HTML标记?我怎样才能获得美丽的汤来正确识别 GEE,ED/OFFICE; N408
作为 <area>
标签的内容?
1 回答
核心问题是你没有告诉
bs4
它正在解析XML . 它假设HTML - 打印出来并注意解析器如何包装<html><body>
标签中的所有内容 .告诉它它应该将其解析为XML(它将使用
lxml
来执行此操作,您需要安装该依赖项,否则这将失败):