これは私の初めてのデータスクラップではありませんが、気に入っています。jsonをPythonリクエストで掻き集める
import csv
import requests
import os
outfile = open("Labs_StartingGoalies.csv","a",newline='')
writer = csv.writer(outfile)
header=[
"Home_Tm"]
writer.writerow(header)
req = requests.get('https://www.fantasylabs.com/api/lines/4/12-20-2017/startinggoalies')
data = req.json()['GoalieMatchups']
for i, teams in enumerate(data):
for i, team in enumerate(teams['Properties']):
print (team)
出力:
EventId
EventDate
EventDateTime
TimeOfDay
Stadium
HomeTeam
HomeEventTeamId
HomeGoalie
HomeTwitterName
HomePrimarySourceKey
HomeGoalieId
HomeGoalieSalary_DK
HomeGoalieSalary_FD
HomeGoalieStatus
HomeGoalieText
HomeModifiedDate
HomeSourceText
HomeSourceURL
HomeMoneyLine
HomeMoneylineChange
HomeVegasPoints
VisitorTeam
VisitorEventTeamId
VisitorGoalie
VisitorTwitterName
VisitorPrimarySourceKey
VisitorGoalieId
VisitorGoalieSalary_DK
VisitorGoalieSalary_FD
VisitorGoalieStatus
VisitorGoalieText
VisitorModifiedDate
VisitorSourceText
VisitorSourceURL
VisitorMoneyLine
VisitorMoneylineChange
VisitorVegasPoints
次のコード:
import csv
import requests
import os
outfile = open("Labs_StartingGoalies.csv","a",newline='')
writer = csv.writer(outfile)
header=[
"Home_Tm"]
writer.writerow(header)
req = requests.get('https://www.fantasylabs.com/api/lines/4/12-20-2017/startinggoalies')
data = req.json()['GoalieMatchups']
for i, teams in enumerate(data):
for i, team in enumerate(teams['Properties']):
HomeTeam = team['HomeTeam']
print (HomeTeam)
エラー: File "C:/Python36/Projects/NHL/Labs_Teams.py", line 17, in <module> HomeTeam = team['HomeTeam'] TypeError: string indices must be integers
このJson
は読みにくいです。通常はMozilla
を使用しますが、通常の方法では表示されません。私は最初のoutput
のリストからデータを取り出すことを始めたいと思いますが、異なる試みはすべて不足しています。見ていただきありがとうございます!ループは以下のように変更する必要があるため
あなたは文字列のことが起こるのプロパティのdictのキーの上に列挙されているように見えます。 –