Python 美苏曲解<;面积>;标签

Python 美苏曲解<;面积>;标签,python,beautifulsoup,Python,Beautifulsoup,我使用beautifulsoup从烟草文档中提取元数据,如下所示: 这将正确识别除以下标记之外的所有标记: <area>GEE,ED/OFFICE; N408</area> GEE,教育署/办公室;N408 Beautiful soup将区域标记标识为两个单独的标记: 空的区域标记 带有内容GEE、ED/OFFICE的空标签;N408 发生此错误是因为是HTML标记吗? 我怎样才能让靓汤正确识别GEE,ED/OFFICE;N408作为标记的内容?核心问题是您没有告

我使用beautifulsoup从烟草文档中提取元数据,如下所示:

这将正确识别除以下标记之外的所有标记:

<area>GEE,ED/OFFICE; N408</area>
GEE,教育署/办公室;N408
Beautiful soup将区域标记标识为两个单独的标记:

  • 空的区域标记
  • 带有内容
    GEE、ED/OFFICE的空标签;N408
发生此错误是因为
是HTML标记吗?
我怎样才能让靓汤正确识别
GEE,ED/OFFICE;N408
作为
标记的内容?

核心问题是您没有告诉
bs4
它正在解析XML。它假定为HTML—打印出来,并注意解析器如何将所有内容包装在
标记中

import requests

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

doc = req.text

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

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

doc = req.text

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