Парсер simple html dom

12
P
На сайте с 14.05.2012
Offline
35
4568

Нужно спарсить ТИЦ и ПР со страницы (http://pr-cy.ru/analysis/www.liveresult.ru)

Мой криворукий код не работает


include('simple_html_dom.php');
$url = "http://pr-cy.ru/analysis/www.liveresult.ru";
$html = file_get_html($url);
$b = $html->find('html body a b', 0);
echo $html->innertext;

подскажите пожалуйста.

TF-Studio
На сайте с 17.08.2010
Offline
334
#1

гораздо проще - напрямую у яши и гоши данные брать!

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
P
На сайте с 14.05.2012
Offline
35
#2

TF-Studio если не секрет как? но все же хотелось бы на примере су пр, там есть и другие нужные данные.

pikasso
На сайте с 27.01.2008
Offline
150
#3
include('simple_html_dom.php');
$url = "http://pr-cy.ru/analysis/www.liveresult.ru";
$html = file_get_html($url);

$b=$html->find('//*[@id="base"]/div[2]/div[1]/div[0]', 0);
echo "Тиц: ".$b->plaintext."<br />\n";

$b=$html->find('//*[@id="base"]/div[2]/div[2]/div[0]', 0);
echo "PR: ".$b->plaintext;

10 символов

siv1987
На сайте с 02.04.2009
Offline
427
#4
perevezenzev:
html body a b

Жесть. Мне вот интересно что вы здесь выбираете?..

Я не особо знаком с этой библиотекой, но если она работает с селекторами, то запрос будет примерно таким div.span4 div.pull-right b

Правда возвращаются 11 элементов, ваш примерно 5-тый

TF-Studio
На сайте с 17.08.2010
Offline
334
#5

Бредово парсить данный сайт.

Гораздо проще все самому, ибо это - не сложно весьма.

Как пример:


private $tic_link = 'http://bar-navig.yandex.ru/u?ver=2&url=http://';
private $tic_link_end = '&show=1';

public function get_site_tic ($domain)
{
if (isset($domain))
{
$url = $this->tic_link .$domain. $this->tic_link_end;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent ['mozila']);
$data = curl_exec($ch);
curl_close ($ch);

$xml = simplexml_load_string ($data);

return $xml->tcy ['value'];
}
$tic = 0;
return $tic;
}


public function get_yaca($domain)
{
$url = 'http://bar-navig.yandex.ru/u?ver=2&url=http://'. $domain .'&show=1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $this->user_agent ['mozila']);
$data = curl_exec($ch);
curl_close ($ch);

$xml = simplexml_load_string ($data);
return trim($xml->textinfo);
}


pikasso
На сайте с 27.01.2008
Offline
150
#6
TF-Studio:
Бредово парсить данный сайт.
Гораздо проще все самому, ибо это - не сложно весьма.
Как пример:

Угу, вместо одного запроса, делать 2 только для получения пр и тиц, не считая данные, которые ещё требуется ТС. Все поняли что Вы знаете курл и очень жаждите блеснуть своими знаниями.

TF-Studio
На сайте с 17.08.2010
Offline
334
#7

pikasso, с чего такой негатив?

Парсить сайты, которые могут сменить верстку, начать прятать данные в JS, банить ip и прочее, вместо того чтобы брать напрямую.

Я лишь - показал пример кода, чтобы человек мог сразу использовать.

pikasso
На сайте с 27.01.2008
Offline
150
#8
TF-Studio:
pikasso, с чего такой негатив?

Парсить сайты, которые могут сменить верстку, начать прятать данные в JS, банить ip и прочее, вместо того чтобы брать напрямую.
Я лишь - показал пример кода, чтобы человек мог сразу использовать.

Есть определенная задача, которую ТС попросил помочь решить, задача к которой он как то пришел, над которой он думал. Он ведь не спрашивал как получить тиц или пр напрямую, а как использовать конкретную библиотеку. Поэтому имхо все что не относится к теме является флудом.

ЗЫ

Яндекс также может начать банить по ip, изменить дизайн или выдавать данные в картинке.

F
На сайте с 06.06.2008
Offline
51
#9

ТС, вроде так должно заработать:


include('simple_html_dom.php');
$url = "http://pr-cy.ru/analysis/www.liveresult.ru";
$content = file_get_contents($url);
$html = str_get_html($content);
$tic = $html->find("div.row div.span4 b", 0);
$pr = $html->find("div.row div.span4 b", 4);
echo 'ТИЦ='.$tic.', PR='.$pr;
TF-Studio
На сайте с 17.08.2010
Offline
334
#10

Есть задачи - решения которых люди придумывают неверное.

И мое мнение, что стоит помочь человеку более точно сформулировать вопрос и помочь найти более верное решение задачи.

Но - это сугубо имхо.

12

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