Был рабочий бот телеграмм, но видимо изменился сайт. парсер Json
Был рабочий бот, суть бота в том что при добавлении ссылки на матч он брал информацию со страницы определенных элементов, видимо произошли изменения на сайте и он по умолчанию в бота присылает "это должна быть ссылка на матч sofascore.com". код писал не я, но думаю проблема в этом месте: r = requests.get(url='https://www.sofascore.com/team/tennis/a/{}'.format(id)) эту строку я впринципе при нажатии клавиши f12 не находил, и ранее когда бот работал. разраб советовал отлаживать этот код, но я не представляю как отлаживать json с элементами, и никогда этим не занимался. любая информация будет ценна, подскажите пожалуйста
import requests import lxml.etree import time import json from telegram.ext import Updater, CommandHandler
parser = lxml.etree.HTMLParser(encoding = 'utf-8')
class Event: def __getEvent(self): r = requests.get(url='https://www.sofascore.com/event/{}/general/json?_={}'.format(self.id, int(time.time()))) return r.json()
def __getPlayer(self, id):
r = requests.get(url='https://www.sofascore.com/team/tennis/a/{}'.format(id))
r.encoding = 'utf-8'
tree = lxml.etree.fromstring(r.text, parser = parser)
name = tree.xpath('/html/body/div[5]/div/div[2]/div/div/div/div[1]/div[1]/div[2]/div[2]/h2')[0].text
return {
'id': id,
'name': name.strip()
}
print('name')
def refresh(self):
# try:
self.eventData = self.__getEvent()
self.__update3030s()
# except:
# pass
def __init__(self, url):
self.url = url
r = requests.get(url=self.url)
r.encoding = 'utf-8'
tree = lxml.etree.fromstring(r.text, parser = parser)
data = tree.findall('.//*[@id="event-details-follow"]')[0]