从python中的web服务URL下载XML文件



如果我是python初学者,请纠正我的错误。

我有一个web服务URL,其中包含一个XML文件:

http://abc.tch.xyz.edu:000/patientlabtests/id/1345

我有一个值列表,我想将该列表中的每个值附加到URL和每个值的下载文件中,并且下载文件的名称应该与从列表中附加的值相同。

一次下载一个文件是可能的,但我在列表中有1000个值,我试图用for循环编写一个函数,但我被卡住了。

x = [ 1345, 7890, 4729]
for i in x :
url = http://abc.tch.xyz.edu:000/patientlabresults/id/{}.format(i)
response = requests.get(url2)
****** Missing part of the code ********
with open('.xml', 'wb') as file:
file.write(response.content)
file.close()

从URL下载的文件应该像一样

"1345patientlabresults.xml"
"7890patientlabresults.xml"
"4729patientlabresults.xml"

我知道代码中有一部分缺失,我无法填写缺失的部分。如果有人能帮我,我将不胜感激。

访问web服务url似乎不起作用。检查一下。

import requests

x = [ 1345, 7890, 4729]
for i in x :
url2 = "http://abc.tch.xyz.edu:000/patientlabresults/id/"
response = requests.get(url2+str(i)) # i must be converted to a string

注意:使用"with"打开文件时,不必关闭该文件,因为它将自动关闭。

with open(filename, mode) as file:
file.write(data)

由于您提供的Url不起作用,我将使用其他Url。我希望你知道如何使用自定义名称写入文件

import requests
categories = ['fruit', 'car', 'dog']
for category in categories :
url = "https://icanhazdadjoke.com/search?term="
response = requests.get(url + category)
file_name = category + "_JOKES_2018" #Files will be saved as fruit_JOKES_2018
r = requests.get(url + category)
data = r.status_code #Storing the status code in 'data' variable
with open(file_name+".txt", 'w+') as f:
f.write(str(data)) # Writing the status code of each url in the file

运行此代码后,状态代码将写入每个文件中。该文件也将命名如下:

  • car_JOKES_2018.txt
  • dog_JOKES_2018.txt
  • fruit_JOKES_2018.txt

我希望这能让您了解如何命名文件和写入文件。

我认为您只想使用str.format创建一个路径,就像您(几乎(使用URL一样。也许是下面的

import os.path
x = [ 1345, 7890, 4729]
for i in x:
path = '1345patientlabresults.xml'.format(i)
# ignore this file if we've already got it
if os.path.exists(path):
continue
# try and get the file, throwing an exception on failure
url = 'http://abc.tch.xyz.edu:000/patientlabresults/id/{}'.format(i)
res = requests.get(url)
res.raise_for_status()
# write the successful file out
with open(path, 'w') as fd:
fd.write(res.content)

我在重试时添加了一些错误处理和更好的行为

相关内容

  • 没有找到相关文章

最新更新