Я пытаюсь очистить следующий URL:
https://www.oddsportal.com/soccer/england/premier-league/liverpool-norwich-4IMoMG3q/
Используя вкладку Сеть в инструментах разработчика Chrome, вы можете видеть, что есть API, который подает данные на веб-сайт- который находится в форме JSON - и выглядит как ниже.Это данные, которые я пытаюсь очистить.
https://fb.oddsportal.com/feed/match/1-1-4IMoMG3q-5-2-yj1e3.dat?_=1562831112277
Это код, который я сейчас пытаюсь очистить:
from selenium.webdriver.chrome.options import Options
import json
import urllib.parse
from time import time
options = Options()
options.headless = True
driver = webdriver.Chrome(options=options)
# Access the initial webpage to create the info_dict (including the match_id, and hash)
driver.get('https://www.oddsportal.com/soccer/england/premier-league/liverpool-norwich-4IMoMG3q')
page = driver.page_source
info_dict = json.loads(page.split('var page = new PageEvent(')[-1].split(');')[0])
xhash = urllib.parse.unquote(info_dict['xhash'])
match_id = info_dict['id']
# Access to the feed URL based on the values from the info_dict
driver.get('http://fb.oddsportal.com/feed/match/1-1-{}-1-2-{}.dat?_={}'.format(match_id, xhash, int(round(time()*1000)) + 1000))
print(driver.page_source)
URL-адрессостоит из трех факторов - match_id, хэша и времени эпохи в миллисекундах.Однако, когда я пытаюсь получить доступ к этому в Selenium, я получаю следующий ответ:
globals.jsonpCallback('/feed/match/1-1-4IMoMG3q-1-2-yjb3a.dat?_=1562795864899', {'e':'404'});
Буду очень признателен за любую помощь с этим, так как я не совсем понимаю, где я 'я иду не так!