не подключается simple_html_dom.php

12
M
На сайте с 01.10.2014
Offline
61
1487

Всем привет. Никак не могу подключить к сайту simple_html_dom.php. Даже если подключаю файл через include, и пробую запустить этот код:

 $html = file_get_html('site.ru');

echo $html->find('#ember1250', 0)->innerhtml;

выводит ошибку: Trying to get property of non-object .

Файл качал отсюда: http://sourceforge.net/projects/simplehtmldom/files/ , сайт на wordpress.

Лучшая вап клик пп для выкупа подписок (https://mcwap.ru/?r=1153)
axel11feb
На сайте с 16.06.2012
Offline
35
#1

Попробуйте без innerhtml или plaintext в замен


require_once('simple_html_dom.php');

$html = file_get_html('/ru/forum/893190);
$result = $html->find('#post_message_13651648', 0)->plaintext;
echo $result;

ps: возможны проблемы с кодировкой в моем примере

M
На сайте с 01.10.2014
Offline
61
#2

работает, но только как достать именно html код, а не текст?

axel11feb
На сайте с 16.06.2012
Offline
35
#3

mortido,

просто убрать '->plaintext'

$result = $html->find('#post_message_13651648', 0);
M
На сайте с 01.10.2014
Offline
61
#4

пробую взять любой код с этой страницы: http://www.twitch.tv/directory/game/Hearthstone%3A%20Heroes%20of%20Warcraft , но почему-то ничего не выводится, почему так?

PN
На сайте с 22.08.2012
Offline
103
#5
mortido:
пробую взять любой код с этой страницы: http://www.twitch.tv/directory/game/Hearthstone%3A%20Heroes%20of%20Warcraft , но почему-то ничего не выводится, почему так?

просто отладьте код по шагам. так ошибки находятся за полчаса.

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
M
На сайте с 01.10.2014
Offline
61
#6

не совсем понял, вот код:

$html = file_get_html('http://www.twitch.tv/directory/game/Hearthstone%3A%20Heroes%20of%20Warcraft');

$result = $html->find('#ember1232', 0);

echo $result;

а что в нем можно отладить?

Ragnarok
На сайте с 25.06.2010
Offline
226
#7
mortido:
не совсем понял, вот код:
$html = file_get_html('http://www.twitch.tv/directory/game/Hearthstone%3A%20Heroes%20of%20Warcraft');
$result = $html->find('#ember1232', 0);
echo $result;
а что в нем можно отладить?

как я заметил, $result заполняется рекурсивно или типа того, поэтому у меня подобное перегружает и вешает окно браузера

попробуйте

$html = file_get_html('http://www.twitch.tv/directory/game/Hearthstone%3A%20Heroes%20of%20Warcraft');

$result = $html->find('#ember1232', 0)->innertext;

echo $result;

//TODO: перестать откладывать на потом
axel11feb
На сайте с 16.06.2012
Offline
35
#8

Сейчас сижу с телефона, поэтому это только предположение: элемент, который вам требуется - погружается аяксом, а данная библиотека не способна парсить страницы такого рода. Чтобы убедиться в наличии нужного вам элемента на странице - посмотрите её исходный код (Ctrl + u) и попробуйте его там отыскать.

M
На сайте с 01.10.2014
Offline
61
#9
axel11feb:
Сейчас сижу с телефона, поэтому это только предположение: элемент, который вам требуется - погружается аяксом, а данная библиотека не способна парсить страницы такого рода. Чтобы убедиться в наличии нужного вам элемента на странице - посмотрите её исходный код (Ctrl + u) и попробуйте его там отыскать.

Да там подобного нет. а есть какой-нибудь способ подобную страницу спарсить?

PN
На сайте с 22.08.2012
Offline
103
#10
mortido:
Да там подобного нет. а есть какой-нибудь способ подобную страницу спарсить?

есть, пишите в личку

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий