需要Python中的JSON数据抓取帮助吗

需要Python中的JSON数据抓取帮助吗,python,json,web-scraping,automation,Python,Json,Web Scraping,Automation,我使用下面的代码从网站上抓取数据。但我面临着关键错误:0 请告诉我代码中的问题 来自网页的原始JSON响应: 答复: {"user_details":{"user_id":"22","username":"Test","user_email":"test@gmail.com"}} 我想清除用户名,用户id和用户电子邮件 我所尝试的: import json import requests import datetime #data outputs to a CSV file in the

我使用下面的代码从网站上抓取数据。但我面临着
关键错误:0

请告诉我代码中的问题

来自网页的原始JSON响应:

答复:

{"user_details":{"user_id":"22","username":"Test","user_email":"test@gmail.com"}}
我想清除
用户名
用户id
用户电子邮件

我所尝试的:

import json
import requests
import datetime

#data outputs to a CSV file in the current directory
csv_output = open("test.csv", "w")

end_page = 5;

#scan through pages 1 to end_page for data, 20 results per page
for page in range(1,end_page+1):
    r = requests.get('https://www.demo.com/api/user_details/' + str(page))
    data = r.json()
    for index in range(len(data["user_details"])):

        csv_output.write("\"%s\",%s\n" % (data["user_details"][index]["user_id"].encode('ascii', 'ignore'))), 

        data["user_details"][index]["user_id"]

csv_output.close()
data[“user\u details”]
是一个dict而不是列表,您会收到错误,因为您试图使用索引访问值:

data["user_details"][index] ....
您可以通过访问dict中的特定键来获取条目:

user_id = data["user_details"]['user_id']
username = data["user_details"]['username']
user_email = data["user_details"]['user_email']
这里的用户详细信息是一本字典。另一方面,
index
是来自
范围
调用的整数。第一个值是
0
。您的代码尝试加载
数据[“用户详细信息”][0]
。但是那本字典里没有键
0

要遍历字典,可以调用
items
方法,该方法将为您提供一个具有
(键,值)
对的元组

d = {"user_id":"22","username":"Test","user_email":"test@gmail.com"}
for k,v in d.items():
    print("Key: {}, Value: {}".format(k,v))

这正是AKS所做的,但我真的建议您使用它来创建爬虫。容易得多。:)

我的代码没有在请求中循环。它只是在“d”变量中显示数据。现在我比以往更多地使用它。要走的路。:)
d = {"user_id":"22","username":"Test","user_email":"test@gmail.com"}
for k,v in d.items():
    print("Key: {}, Value: {}".format(k,v))