Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2016, 19:50
Новичок на форуме
Отправить личное сообщение для Ver1ty Посмотреть профиль Найти все сообщения от Ver1ty
 
Регистрация: 08.07.2016
Сообщений: 3

Парсинг dotabuff
Пытаюсь парсить dotabuff.com вот код
var request = require("request"),
cheerio = require("cheerio"),

url = "http://www.dotabuff.com/players/106368474";

request(url, function (error, response, body) {
if (!error) {
var $ = cheerio.load(body),
res = $(".header-content-title h1").html();

console.log(res);
} else {
console.log("Произошла ошибка: " + error);
}
});

с данного сайта всегда возвращает null. Если же беру text(), то пустая строка. на других сайтах работает

Последний раз редактировалось Ver1ty, 08.07.2016 в 19:56.
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2016, 23:03
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Посмотри, чему равно body (строка), которое загрузилась, есть ли там элемент, соответствующий такому селектору. Такого элемента может не оказаться по массе причин.
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2016, 23:10
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Да, чирио конечно крутая штука, но она парсит весь хтмл и строит по нему полное дерево ДОМ. Если надо взять 2-3 небольших кусочка, то, наверно, лучше регексы.
Ответить с цитированием
  #4 (permalink)  
Старый 12.07.2016, 12:21
Новичок на форуме
Отправить личное сообщение для Ver1ty Посмотреть профиль Найти все сообщения от Ver1ty
 
Регистрация: 08.07.2016
Сообщений: 3

{ options:
{ withDomLvl1: true,
normalizeWhitespace: false,
xmlMode: false,
decodeEntities: true },
_root:
{ '0':
{ type: 'root',
name: 'root',
attribs: {},
children: [Object],
next: null,
prev: null,
parent: null },
options:
{ withDomLvl1: true,
normalizeWhitespace: false,
xmlMode: false,
decodeEntities: true },
length: 1,
_root: [Circular] },
length: 0,
prevObject:
{ '0':
{ type: 'root',
name: 'root',
attribs: {},
children: [Object],
next: null,
prev: null,
parent: null },
options:
{ withDomLvl1: true,
normalizeWhitespace: false,
xmlMode: false,
decodeEntities: true },
length: 1,
_root: [Circular] } }
вот, что возвращеат body
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2016, 07:47
Новичок на форуме
Отправить личное сообщение для Ver1ty Посмотреть профиль Найти все сообщения от Ver1ty
 
Регистрация: 08.07.2016
Сообщений: 3

Попробовал вернуть только не пустые элементы. Вот, что выдало:
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг json с двойными кавычками llpoolerll jQuery 9 29.06.2016 17:28
Парсинг чата aHuxley Общие вопросы Javascript 9 02.04.2014 21:02
Парсинг даты Allan Stark Общие вопросы Javascript 4 30.01.2014 18:57
Парсинг страницы с авторизацией aspx karmis Серверные языки и технологии 0 21.02.2012 18:28
Парсинг JSON массива со скобками [ ] lightdesign jQuery 1 24.04.2011 15:35