@alexey11alexey
новичок в питоне)

Парсинг json. Сохранение в файл?

Здравствуйте. Я новичок в программировании, нужно все это мне для своих нужд и ради спортивного интереса, если можно так сказать.
Есть сайт itfprocircuit.tennis-live-scores.com/, мне нужно получить статистику по каждому матчу.
Что я сделал отловил запрос, сделал такой же, получил ответ json и вроде бы добрался до нужных мне значений, и дальше застопорился.
Мой код(будет ниже) как я уже написал делает запрос,парсит ответ и делает последующие ссылки на которые мне нужно будет делать еще запросы, по ним уже и будет приходить сам статс матчей тоже в json.
Вопрос в том как мне дальше действовать, записывать ссылки в файл(как это сделать), или в это же коде делать запросы(как это сделать)? Заранее спасибо!

import requests
import json

url = 'https://ls.sportradar.com/ls/feeds/?/itf/en/Europe:Berlin/gismo/event_getitf'
response = requests.get(url)
json_string = response.content
parsed_string = json.loads(json_string)
k = parsed_string["doc"][0]["data"]

for i in k:
    l = (i["matchid"])
    m = str(l)
    links = 'https://ls.sportradar.com/ls/feeds/?/itf/en/Europe:Berlin/gismo/match_detailsextended/' + m
    print(links)
  • Вопрос задан
  • 377 просмотров
Решения вопроса 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Да можно прямо в коде!
import requests
import json
from pprint import pprint

def getMatches():       
    url = 'https://ls.sportradar.com/ls/feeds/?/itf/en/Europe:Berlin/gismo/event_getitf'
    response = requests.get(url)
    response.encoding = 'utf-8'
    parsed_string = response.json()
    k = parsed_string["doc"][0]["data"]

    for i in k:
        l = (i["matchid"])
        m = str(l)
        link = 'https://ls.sportradar.com/ls/feeds/?/itf/en/Europe:Berlin/gismo/match_detailsextended/' + m
        yield link
        
def printMatch(match):
    pprint(match["data"]["teams"], indent=2)
    
for url in getMatches():
    response = requests.get(url)
    response.encoding = 'utf-8'
    match = response.json()
    for doc in match["doc"]:
        printMatch(doc)

Вывод:
{'away': 'Ianchuk, Elizaveta', 'home': 'Guarachi Mathison, Alexa'}
{'away': 'Shane, Ryan', 'home': 'Bester, Philip'}
{'away': 'Kalinina, Anhelina', 'home': 'Bouchard, Eugenie'}
{'away': 'Zarazua, Renata', 'home': 'Zaja, Anna'}
{'away': 'Ianchuk, Elizaveta', 'home': 'Guarachi Mathison, Alexa'}
{'away': 'Lin, Winston', 'home': 'Halebian, Alexios'}
{'away': 'Kalinina, Anhelina', 'home': 'Bouchard, Eugenie'}
{'away': 'Kalinina, Anhelina', 'home': 'Bouchard, Eugenie'}
{'away': 'Arconada, Usue Maitane', 'home': 'Lukas, Tena'}
{'away': 'Wu, Yibing', 'home': 'Mertens, Yannick'}
{'away': 'Shane, Ryan', 'home': 'Bester, Philip'}
{'away': 'Quigley, Eric', 'home': 'van Peperzeel, Gavin'}
{'away': 'Quigley, Eric', 'home': 'van Peperzeel, Gavin'}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы