如何让 Beautifulsoup 不添加 <html> 或 <?xml ?>
Posted
技术标签:
【中文标题】如何让 Beautifulsoup 不添加 <html> 或 <?xml ?>【英文标题】:How to make Beautifulsoup not adding <html> or <?xml ?> 【发布时间】:2017-08-28 18:02:12 【问题描述】:有没有办法让beautifulsoup不在xml文件开头添加<?xml version="1.0" encoding="utf-8"?>
或者<html> </html>
标签?
我已经阅读了bs4 doc 并尝试了 xml、html 和 lxml 解析器,但结果相似。
我还测试了soup.find('?xml')
,这什么也没返回。
$ python
Python 2.7.5 (default, Aug 2 2016, 04:20:16)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from bs4 import BeautifulSoup
>>> xml='<tag>value</tag>'
>>> soup=BeautifulSoup(xml,'xml')
>>> soup
<?xml version="1.0" encoding="utf-8"?> <===============
<tag>value</tag>
>>> soup.find('?xml')
>>> soup=BeautifulSoup(xml,'html')
>>> soup
<html><body><tag>value</tag></body></html> <===========
>>> soup=BeautifulSoup(xml,'lxml')
>>> soup
<html><body><tag>value</tag></body></html> <===========
>>>
【问题讨论】:
【参考方案1】:#You can directly print the tag (or body). Hope this helps.
from bs4 import BeautifulSoup
xml='<tag>value</tag>'
soup=BeautifulSoup(xml,'lxml')
soup.tag #or soup.body
#Output:
<tag>value</tag>
【讨论】:
谢谢!这是可能的唯一方法。以上是关于如何让 Beautifulsoup 不添加 <html> 或 <?xml ?>的主要内容,如果未能解决你的问题,请参考以下文章
如何让 beautifulsoup 对脚本标签的内容进行编码和解码
如何使用 BeautifulSoup 找到评论标签 <!--...-->?