Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2012, 15:17   #1
Geofoce
 
Регистрация: 30.10.2012
Сообщений: 6
Печаль Парсинг сайта\регулярные выражения

Подскажите мучаюсь уже 3 день и все не как не могу понять как выпарсить определенный див\класс объясните на примерах как и с чем это едят!?

Ну например нужно выпарсить строку поиска Яндекса.
<td class="arr"> все содержимое </td>

С file_get_contents разобрался

Цитата:
<?php
$a = file_get_contents('http://yandex.ru');
echo $a;

Что дальше ума не приложу...

?>

Последний раз редактировалось Geofoce; 30.10.2012 в 15:28.
Geofoce вне форума Ответить с цитированием
Старый 30.10.2012, 15:22   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

Регулярные выражения, а не регуляторные
ADSoft вне форума Ответить с цитированием
Старый 30.10.2012, 15:49   #3
EndoCrinolog
Пользователь
 
Регистрация: 23.08.2012
Сообщений: 26
По умолчанию

Simple HTML DOM
Тут можно скачать музыку радио Рекорд:
http://www.musicofradiorecord.pusku.com/
EndoCrinolog вне форума Ответить с цитированием
Старый 30.10.2012, 15:53   #4
EndoCrinolog
Пользователь
 
Регистрация: 23.08.2012
Сообщений: 26
По умолчанию

только с кодировкой разберитесь:
PHP код:
<?php

$page 
"http://yandex.ru/yandsearch?clid=1923021&text=simple+html+dom&lr=51";

set_time_limit(0);


include_once(
'simple_html_dom.php');


$html file_get_html($page);


foreach(
$html->find('.b-serp-item') as $res){
$txt $res->innertext;
echo 
"$txt<hr><hr>";
}

?>
Тут можно скачать музыку радио Рекорд:
http://www.musicofradiorecord.pusku.com/

Последний раз редактировалось EndoCrinolog; 30.10.2012 в 15:58.
EndoCrinolog вне форума Ответить с цитированием
Старый 30.10.2012, 16:04   #5
Geofoce
 
Регистрация: 30.10.2012
Сообщений: 6
По умолчанию

Цитата:
Сообщение от EndoCrinolog Посмотреть сообщение
только с кодировкой разберитесь:
PHP код:
<?php

$page 
"http://yandex.ru/yandsearch?clid=1923021&text=simple+html+dom&lr=51";

set_time_limit(0);


include_once(
'simple_html_dom.php');


$html file_get_html($page);


foreach(
$html->find('.b-serp-item') as $res){
$txt $res->innertext;
echo 
"$txt<hr><hr>";
}

?>
И так попробую разобраться:

set_time_limit - в переводе звучит как срок выполнения, так с этим я думаю понятно.

include_once('simple_html_dom.php') ; - чесно говоря не понял) simple_html_dom.php- это что?

$html = file_get_html($page); - получает html адрес?

foreach($html->find('.b-serp-item') as $res){
$txt = $res->innertext;
echo "$txt<hr><hr>"; этот блок тоже не понял..

Последний раз редактировалось Geofoce; 30.10.2012 в 16:14.
Geofoce вне форума Ответить с цитированием
Старый 30.10.2012, 17:14   #6
LZero
Форумчанин
 
Регистрация: 20.07.2012
Сообщений: 129
По умолчанию

include_once('simple_html_dom.php') ; - подключается файл simple_html_dom.php, его нужно скачать. Искать в гугле
$html = file_get_html($page); - функция из файла simple_html_dom.php

Далее используются метод поиска из файла simple_html_dom.php, читать документацию этой библиотеки.
LZero вне форума Ответить с цитированием
Старый 31.10.2012, 22:00   #7
Geofoce
 
Регистрация: 30.10.2012
Сообщений: 6
По умолчанию

$html = file_get_html($page);
На функцию ругается..
Geofoce вне форума Ответить с цитированием
Старый 31.10.2012, 22:24   #8
LZero
Форумчанин
 
Регистрация: 20.07.2012
Сообщений: 129
По умолчанию

Так подключить файл нужно simple_html_dom.php
LZero вне форума Ответить с цитированием
Старый 02.11.2012, 13:26   #9
Geofoce
 
Регистрация: 30.10.2012
Сообщений: 6
По умолчанию

Всеравно ругается на $html = file_get_html($page); библиотека подключена, на сайт не обращайте внимания это так проект на который все не как нет времени реализовать..

Код:
<?php

$page = "http://worldoftanks.ru/";

set_time_limit(0);


include_once('http://dayzlife.ru/simple_html_dom.php');


$html = file_get_html($page);


foreach($html->find('div[class=b-menu]') as $res){
$txt = $res->innertext;
echo "$txt<hr><hr>";
}

?>
Вот пример уже немного переделал
Код:
foreach($html->find('div[class=b-menu]')
Geofoce вне форума Ответить с цитированием
Старый 02.11.2012, 14:34   #10
LZero
Форумчанин
 
Регистрация: 20.07.2012
Сообщений: 129
По умолчанию

Цитата:
include_once('http://dayzlife.ru/simple_html_dom.php');
Это неправильно. Нужно подключать относительно своего сервера, как-то так:
Код:
include_once('./simple_html_dom.php'); // если находится в текущей папке
LZero вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения Granus Общие вопросы C/C++ 1 02.06.2012 00:07
Регулярные выражения в F# Лёличка Общие вопросы .NET 1 18.01.2012 20:15
Регулярные выражения C# Дупло Помощь студентам 4 28.09.2011 17:19
Регулярные выражения flame33 PHP 1 30.08.2011 12:07
регулярные выражения brulik67 PHP 4 24.06.2011 06:14