Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг habrahabr.ru 
:(
    Опции темы
studentigor
Дата 14.3.2009, 10:42 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



Дабрый день.
Естьтакая задача: нужно отпарсить страничку(http://habrahabr.ru/) и вытянуть с неё
- название статьи
- текст статьи(превью что на главной)
- URL полной версии статьи
структура такая:
Код

...
<h2>
<a..>text</a>
<a..>text</a>
</h2>

<div id="content"> tekst</div>

<div id="hub"><a href="adres"></a></div>

Я в регулярных выражениях не силён, написал как понял.
Код


$nazvanie=preg_grep("<h2><a(\d|\s|\w|\/|\.)+>(\d|\s|\w)+</a></h2>", $contents);
$zagol=array_values($nazvanie);
$statya=preg_grep("<div id="content">(\d|\s|\w|\(</br>)|\.|\-|\(|\)|\(<img(.)+>))+(<div\ id="hubr"><a(\d|\s|\w|\/|\.)+>)", $contents);
$text=array_values($statya)
$url=preg_grep("<div\ id="hubr"><a(\d|\s|\w|\/|\.)+(href=\"(\d|\w\|\/|.|\:)+\")>",$contents);
$urll=array_values($url);



M
MoLeX
Пожалуйста, используй кнопку КОД для оформление



Это сообщение отредактировал(а) MoLeX - 15.3.2009, 14:23
PM MAIL   Вверх
enof
Дата 14.3.2009, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: нет
Всего: 35



Код

$str = file_get_contents("http://habrahabr.ru");
preg_match_all('#<h2[^>]*>.*<a\shref="(.*)"[^>]*>(.*)</a>.*<a href="(.*)"[^>]*>(.*)</a>.*</h2>.*<div class="content">(.*)</div>#Usi', $str, $arr_matches, PREG_SET_ORDER);
echo "<pre>"; print_r($arr_matches);

PM MAIL ICQ Skype   Вверх
solenko
Дата 14.3.2009, 17:22 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: нет
Всего: 67



Нафиг мучатся, если они rss отдают?


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
studentigor
Дата 14.3.2009, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 397
Регистрация: 14.11.2008

Репутация: нет
Всего: нет



выдает ошибку :
Fatal error: Maximum execution time of 30 seconds exceeded  в строке
 $str = file_get_contents("http://habrahabr.ru")
PM MAIL   Вверх
enof
Дата 14.3.2009, 17:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 837
Регистрация: 23.1.2009
Где: Санкт-Петербург

Репутация: нет
Всего: 35



studentigor, может стоит попробовать прочитать ошибку и про функцию в мане?

Добавлено через 24 секунды
И выше пост прочитайте заодно.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0419 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.