python从url请求json 我正在使用python刮取url,如代码blow中的url
就像这次打击一样,这是一个非常好的结果python从url请求json 我正在使用python刮取url,如代码blow中的url,python,json,python-requests,Python,Json,Python Requests,就像这次打击一样,这是一个非常好的结果 {'product_info': [{'pid': '1', 'product_type': '2'}]} {'product_info': [{'pid': '2', 'product_type': '2'}]} {'product_info': [{'pid': '3', 'product_type': '2'}]} {'product_info': [{'pid': '4', 'product_type': '2'}]} {'product_info
{'product_info': [{'pid': '1', 'product_type': '2'}]}
{'product_info': [{'pid': '2', 'product_type': '2'}]}
{'product_info': [{'pid': '3', 'product_type': '2'}]}
{'product_info': [{'pid': '4', 'product_type': '2'}]}
{'product_info': [{'pid': '5', 'product_type': '2'}]}
{'product_info': [{'pid': '6', 'product_type': '2'}]}
{'product_info': [{'pid': '7', 'product_type': '2'}]}
{'product_info': [{'pid': '8', 'product_type': '2'}]}
{'product_info': [{'pid': '9', 'product_type': '2'}]}
{'product_info': [{'pid': '10', 'product_type': '2'}]}
然后我想将生成的10行保存到一个json文件中,如下代码所示:
with open('sylist.json', 'w') as outfile:
json.dump(r.json(), outfile, indent=4)
但是只有一个结果保存到json文件local中,他可以帮助我解决这个问题,非常感谢在一个典型的方法中,尝试下面的方法逐行写入结果,每次都不打开/关闭文件
with open('sylist.json', 'a+') as outfile:
for i in range (1,n_index+1):
link = base_link+str(i)
r = requests.get(link)
outfile.write("{}\n".format(json.dump(r.json(), outfile, indent=4)))
在一种典型的方法中,尝试以下方法逐行写入结果,每次都不打开/关闭文件
with open('sylist.json', 'a+') as outfile:
for i in range (1,n_index+1):
link = base_link+str(i)
r = requests.get(link)
outfile.write("{}\n".format(json.dump(r.json(), outfile, indent=4)))
让我扩展一下弗兰克的回答。 您正在for循环内发送请求,这意味着在循环的每次迭代中,pid的值都会被覆盖。因此,当您希望将其内容转储到输出文件时,pid仅保存最后一次迭代/请求中的内容。我建议采用以下方法之一解决您的问题:
my_list = []
for i in range (1,n_index+1):
link = base_link+str(i)
r = requests.get(link)
pid = r.json()
my_list.append(pid)
with open('sylist.json', 'w') as outfile:
json.dump(my_list, outfile, indent=4)
让我扩展一下弗兰克的回答。 您正在for循环内发送请求,这意味着在循环的每次迭代中,pid的值都会被覆盖。因此,当您希望将其内容转储到输出文件时,pid仅保存最后一次迭代/请求中的内容。我建议采用以下方法之一解决您的问题:
my_list = []
for i in range (1,n_index+1):
link = base_link+str(i)
r = requests.get(link)
pid = r.json()
my_list.append(pid)
with open('sylist.json', 'w') as outfile:
json.dump(my_list, outfile, indent=4)
使用append代替write::-
将open('sylist.json','a')作为输出文件:
使用append代替write:将open('sylist.json','a')作为输出文件:@slackware嘿,如果它对你有用,请接受它:)@slackware嘿,如果它对你有用,请接受它:)