通过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()
感谢您的帮助。
使用 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()
感谢您的帮助。