-1
我想通過Url進行JSON抓取,並在Python中轉換爲CSV,但出現錯誤。請看下面。JSON,Url抓取,CSV轉換,python
import requests
import pprint
import json
import csv
mysession = requests.Session()
url = 'https://shoiapi.xx.com/api/method/login'
data = {'usr': '@gmail.com', 'pwd': 'mh'}
ret=mysession.post(url, data=data)
response_data_json = ret.json()
print("---------------Post---------------------\n")
print(response_data_json)
stringOfJsonData = json.dumps(response_data_json)
tempf=open('test.csv', 'a')
f = csv.writer(tempf)
f.writerow(["home_page", "message", "full_name"])
pprint.pprint(stringOfJsonData)
for xin in stringOfJsonData:
f.writerow([xin["home_page"],xin["message"],xin["full_name"]
])
tempf.close()
print("---------------Out error---------------------\n")
Error i am geting
f.writerow([xin["home_page"],xin["message"],xin["full_name"]
TypeError: string indices must be integers
print("---------------Out error---------------------\n")
我正的誤差: 我正的誤差: 我正的錯誤: f.writerow([鑫[ 「home_page」],辛[ 「消息」],辛[」 FULL_NAME「]
TypeError: string indices must be integers
Fxied,對不起,應該說'fieldnames' –
您的請求不返回JSON數據,只是HTML。很明顯,將HTML解碼爲JSON會給出一個'JSONDecodeError'。在普通瀏覽器中訪問該URL會導致'shoiapi.erpnext.com不存在' –
腳本現在應該可以在CSV文件中爲您提供單個條目。 –