Проблема с парсером из-за подгружающегося фильтра
Возникла проблема с парсером.
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, время: 01:05. |