Реклама на сайте Advertise with us

PHP класс для разбора HTML. Нужен граббер тумб.HTMLParser ?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 24.10.06
Сообщения: 169
Рейтинг: 147

Ссылка на сообщениеДобавлено: 01/11/06 в 14:06       Ответить с цитатойцитата 

Сабж. Потребовалось написать простенький граббер тумб на PHP, решил поискать относительно готовые решения. Нашел упоминания (его самого так и не смог найти) о неком классе HTMLParser, который вроде как, и предназначен для разбора HTML-страниц.

Кто-нибудь имел с ним дело? Подскажите плз. ссылку на него и документацию. Или я вообще не в ту степь пошел?
Если так, то может порекоммендуете, какие-то подходящие решения? По большому счету все что нужно это выдирать из страницы теги <img>. Впринипе я и сам подобное могу написать, но наверняка же есть какие-то готовые решения, так что зачем изобретать велосипед. :-)

Всем рейтинг!

0
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 01/11/06 в 15:04       Ответить с цитатойцитата 

Понимаешь, если ты действительно можешь это написать, то поймёшь, что никакой HTMLParser тебе не нужен, а если нет - то он так и так тебе не нужен icon_smile.gif (сори за неинформативность, пиши сам, одним словом)

3
 



С нами с 07.01.04
Сообщения: 2868
Рейтинг: 1536

Ссылка на сообщениеДобавлено: 01/11/06 в 15:14       Ответить с цитатойцитата 

Если хочется разбирать хтмл, то лучше через http://php.net/dom

Но вообще тут регэксп в одну строчку все решит.

.

3
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 01/11/06 в 18:17       Ответить с цитатойцитата 

kink писал:
Но вообще тут регэксп в одну строчку все решит.


+1 Время на понимание (дума || некого класса) > время на написание 1 регэкспа

2
 



С нами с 26.02.03
Сообщения: 2352
Рейтинг: 987

Ссылка на сообщениеДобавлено: 02/11/06 в 00:46       Ответить с цитатойцитата 

WeRock писал:
Потребовалось написать простенький граббер тумб на PHP, решил поискать относительно готовые решения.
Ты не представляешь сколько там всяких нюансов icon_smile.gif.
WeRock писал:
Подскажите плз. ссылку на него и документацию. Или я вообще не в ту степь пошел?
Смотри на phpclasses.org

0
 
+ + +


С нами с 24.07.05
Сообщения: 169
Рейтинг: 88

Ссылка на сообщениеДобавлено: 02/11/06 в 09:48       Ответить с цитатойцитата 

0
 

Genuine Quality

С нами с 28.08.05
Сообщения: 652
Рейтинг: 910

Ссылка на сообщениеДобавлено: 02/11/06 в 23:00       Ответить с цитатойцитата 

+1 за регексп, поскольку парсеры не всегда справляются с корявыми ручками вэбдизайнеров

0
 



С нами с 26.02.03
Сообщения: 2352
Рейтинг: 987

Ссылка на сообщениеДобавлено: 03/11/06 в 00:09       Ответить с цитатойцитата 

Ага, забудут тег закрыть или напишут с ошибкой, в браузере все нормально отражается, а скрипт начинает ругаться, что не может ничего найти.

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 03/11/06 в 01:29       Ответить с цитатойцитата 

я себе класс парсера только на определенные теги месяца 2 отлаживал, оказывается есть ну просто ОГРОМНОЕ колличество вариантов написания одной и той же конструкции icon_smile.gif

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 03/11/06 в 04:35       Ответить с цитатойцитата 

Цитата:
я себе класс парсера только на определенные теги месяца 2 отлаживал, оказывается есть ну просто ОГРОМНОЕ колличество вариантов написания одной и той же конструкции icon_smile.gif


А что за теги обсуждаем? <form.*<\/form> ? ;)
Так их и не надо закрывать! тут прикол как раз в том, чтоб парсер расшибся в доску, пытаясь понять почему они открываются, но не закрываются icon_smile.gif)) или закрываются сразу- же после открытия ;)

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 03/11/06 в 04:38       Ответить с цитатойцитата 

Какой нахрен form ? Тут про тумбы идет речь, или у кого что болит, тот про то и говорит icon_smile.gif

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

0
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 03/11/06 в 04:40       Ответить с цитатойцитата 

Цитата:
Какой нахрен form ? Тут про тумбы идет речь, или у кого что болит, тот про то и говорит icon_smile.gif


icon_smile.gif сори, совсем загнался на нервной почве.
Кто за то чтобы казнить за ошибки в синтаксисе HTML ?

0
 
+ + +


С нами с 24.07.05
Сообщения: 169
Рейтинг: 88

Ссылка на сообщениеДобавлено: 03/11/06 в 04:55       Ответить с цитатойцитата 

Код:
      
$html_date = implode ('', @file( $url ) );
preg_match_all("!<a[^>]+href *= *\"?'?([^ \"'>]+)\"?'?[^>]*><img[^>]+src *= *\"?'?([^ \"'>]+)\"?'?[^>]*></a>!is", $html_date, $match);

в итоге в match у тебя будет списко найденных конструкций <a href=...><img src=....></a>

что прекрастно и работает на большенстве tgp, cj и т.д.

0
 



С нами с 16.04.05
Сообщения: 754
Рейтинг: 352

Ссылка на сообщениеДобавлено: 03/11/06 в 05:10       Ответить с цитатойцитата 

Цитата:
в итоге в match у тебя будет списко найденных конструкций <a href=...><img src=....></a>
что прекрастно и работает на большенстве tgp, cj и т.д.


парень, ты крут! ты освоил язык рег-экспов! ;)
А массив - то зачем брал и затем объединял?
Код:

$source = file_get_contents($url);

Поверь мне, это будет работать быстрее....

А вообще, счас говорим об ошибках в html, из - за которых нормальный парсинг невозможен. Твой регэксп так - же свалится, забудь овнер закрыть какой - нить тег.

0
 
+ + +


С нами с 24.07.05
Сообщения: 169
Рейтинг: 88

Ссылка на сообщениеДобавлено: 03/11/06 в 05:51       Ответить с цитатойцитата 

Sirgey писал:
парень, ты крут! ты освоил язык рег-экспов! ;)

да, и в отличии от некоторых не завидую другим по этому поводу =)
Код:
$source = file_get_contents($url);

Sirgey писал:
Поверь мне, это будет работать быстрее....

вопрос стоял не в СКОРОСТИ работы, посмотри название топика если не заметил
Sirgey писал:
А вообще, счас говорим об ошибках в html, из - за которых нормальный парсинг невозможен. Твой регэксп так - же свалится, забудь овнер закрыть какой - нить тег.

большенство cj и tgp генерятся всетаки скриптом и там более менее "нормализованно" все по коду, хотя этот рег и так жрет достаточно "прозрачные" конструкции

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »