Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Парсер с myscore.ru (https://javascript.ru/forum/node-js-io-js/70563-parser-s-myscore-ru.html)

Evelate 15.09.2017 10:48

Парсер с myscore.ru
 
Я только начинаю постигать парсеры)
Почему данный код не все данные забирает? не нахожу классы H2H, как раз то, что самое нужное для меня)

var request = require('request');
var iconv  = require('iconv-lite');

var opt = {
    url: 'https://www.myscore.ru/match/K45p63Sb/#h2h;3',
    encoding: null
}

request(opt, function (err, res, body) {
    if (err) throw err;
    console.log(iconv.decode(body, 'win1251'));
    console.log(res.statusCode);
});

Alexandroppolus 15.09.2017 12:35

Цитата:

Сообщение от Evelate
не нахожу классы H2H, как раз то, что самое нужное для меня)

оно подтягивается аяксом, из ифрейма https://d.myscore.ru/x/feed/proxy-local , который есть на странице.
кури это всё через хромовский дебаггер, найти не трудно

kristow 15.09.2017 12:42

Ну или использовать Nightmare js для парсера. Удобно и быстро :)

Alexandroppolus 15.09.2017 12:51

Цитата:

Сообщение от kristow
Удобно и быстро

быстро сделать )
но если критична скорость работы кода (например, много парсить надо), таки придется самописное поделие лепить.

Evelate 15.09.2017 13:05

Цитата:

Сообщение от Alexandroppolus (Сообщение 464573)
много парсить надо)

Много - это сколько?) от 10, 100, 1000 сайтов?

Вообще сейчас главное сделать парсинг, неважно как. А потом хотелось бы научиться изобретать собственный велосипед)

Alexandroppolus 15.09.2017 13:33

Цитата:

Сообщение от Evelate
Много - это сколько?) от 10, 100, 1000 сайтов?

много страниц парсить, или на слабом железе (у меня на прошлой работе такая тема была - код выполнялся в телефоне).

Nightmare конечно стоит попробовать. Если быстродействие устроит, то хорошо.

Evelate 18.09.2017 10:42

Вложений: 1
Alexandroppolus
Простые сайты вроде научился парсить - текст, ссылки)

А вот с нужным сайтом проблемы)
Не могу понять, как забрать текст. Там есть уникальный номер в виде "onclick". Как к нему обратиться в .evaluate? А то в этом клике хранятся 4 нужных значения


Вложение 3640

.evaluate(() => document.querySelector('table.head_to_head h2h_home ').innerText)
.end()
    .then(console.log)
    .catch((error) => {
    console.error('Search failed:', error);
});


Часовой пояс GMT +3, время: 15:21.