如何将BeautifulSoup对象保存为XML文件到本地磁盘?
解决方案
你可以直接通过BeautifulSoup内置的内容序列化方法,配合Python文件写入操作完成保存,具体实现如下:
基础保存方法
直接调用soup.prettify()获取格式化的标记内容,写入后缀为.xml的文件即可:
with open("apj_abdul_kalam.xml", "w", encoding="utf-8") as xml_file: xml_file.write(soup.prettify())
标准XML格式保存方法
如果需要输出符合规范的XML文件,可手动添加XML声明头:
# 添加XML标准声明头 xml_content = '<?xml version="1.0" encoding="UTF-8"?>\n' + soup.prettify() with open("apj_abdul_kalam.xml", "w", encoding="utf-8") as xml_file: xml_file.write(xml_content)
注意事项
- 写入时必须指定
encoding="utf-8",避免页面中的特殊字符、非英文字符出现乱码 - 若只需保存页面中的部分节点,可先定位到对应BeautifulSoup节点对象,再对单个节点调用
prettify()方法写入即可 - 由于你抓取的是HTML页面,内容本身是HTML语法,如果需要通过严格的XML校验,需要额外对内容中的非法XML字符做转义处理
内容的提问来源于stack exchange,提问作者palash
相关产品推荐
相关产品推荐

