通过URL打开一个XML文件并保存

Open an XML file through URL and save it

使用 Python 3,我想阅读一个 XML 网页并将其保存在我的本地驱动器中。 另外,如果文件已经存在,它必须覆盖它。

我测试了一些脚本,例如:

import urllib.request
xml = urllib.request.urlopen('URL')
data = xml.read()
file = open("file.xml","wb")
file.writelines(data)
file.close()

但是我有一个错误:

TypeError: a bytes-like object is required, not 'int'

第一个建议:改用 official urllib docs says and don't use urllib, use requests

你的问题是你使用 .writelines() 并且它需要一个行列表,而不是字节对象(在 Python 中有一次错误消息不是很有帮助)。使用 .write() 代替

import requests
resp = requests.get('URL')
with open('file.xml', 'wb') as foutput:
   foutput.write(resp.content)

我找到了解决方案:

from urllib.request import urlopen

xml = open("import.xml", "r+")

xml.write(urlopen('URL').read().decode('utf-8'))

xml.close()

感谢您的帮助。