Проблема с парсером из-за подгружающегося фильтра
Возникла проблема с парсером.
var request = require('request'); var cheerio = require ('cheerio'); url='https://www.premierleague.com/players/3170/Fraser-Forster/stats?se=54' request ({url, method: 'GET', encoding: 'binary'}, function (err,res,body) { if (err) throw err; setTimeout ( function () { var $=cheerio.load(body); var name=$("div.name").text(); var team=$("div.info").first().text(); var position=$("div.info").last().text(); var games=$("div.topStatList").text(); console.log(name); console.log(team); console.log(position); console.log(games); },100)}); Изначально, заходя на страницу со статистикой игрока https://www.premierleague.com/player...-Forster/stats отображается общая статистика за все годы карьеры, если в выпадающем списке выбрать последний сезон, то к ссылке добавляется ?se=54, с которой я граблю. Но если пройти по ссылке, то видно что изначально подгружается общая статистика и только потом за последний сезон, который мне и нужен. Так и мой код загружает первоначальную ОБЩУЮ статистику за все сезоны, а не за последний. Пробовал таймер ставить- не помогает. Хотел перед загрузкой данных передать атрибуту data-option-id значение 54. Но ничего не происходит. Помогите решить проблему. ![]() |
Сама по себе статистика подгружается аяксовым запросом https://footballapi.pulselive.com/fo...compSeasons=54 , который возвращает json.
но к нему надо прилепить дополнительные заголовки, чтобы сервер не заругался. Собственно твоя задача в том, чтобы выяснить, откуда эти заголовки брать. Запрос можно увидеть в тех же дебажных тулзах, на вкладке Network (тип запроса - XHR). |
Часовой пояс GMT +3, время: 12:35. |