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

Сканирование html-кода в пхп - хелп

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



С нами с 25.06.03
Сообщения: 491
Рейтинг: 77

Ссылка на сообщениеДобавлено: 15/09/05 в 18:53       Ответить с цитатойцитата 

Народ подскажите есть ли в пхп какой нить удобный (специально преднозначенный) способ работы с html-документами? Все что мне удалось найти это - Hyperwave функции, но их еще и устанавливать надо и хелпа нормального нет. Мне это надо, что бы с галь линки на контент и урлы к тумбочкам вытягивать. Хочу небольшой грабер сделать.

Слив/Подлив трафа только на Traffic Holder!

0
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 15/09/05 в 18:59       Ответить с цитатойцитата 

а чем регулярки плохи?

крипта на ByBit

1
 



С нами с 16.10.03
Сообщения: 686
Рейтинг: 392

Ссылка на сообщениеДобавлено: 15/09/05 в 19:03       Ответить с цитатойцитата 

лучше всего использовать регулярные выражения - это встроенное в php и perl средство для обработки текстовых документов. Но можно еще вот эту вещь: http://sourceforge.net/projects/phphtmlparser Но у нее возможности просто на порядок меньше, т. ч. лучше сразу учи регэкспы, кучу времени сэкономишь.

Выигрышная стратегия игры в покер

3
 



С нами с 25.06.03
Сообщения: 491
Рейтинг: 77

Ссылка на сообщениеДобавлено: 15/09/05 в 19:28       Ответить с цитатойцитата 

Sterx писал:
а чем регулярки плохи?


Можно то можно, но как описать регулярным выражениями поиск ссылки на img в универсальном виде, так сказать, ума не приложу, ведь сколько вариантов может быть!

Эт типа - вначале найти все ссылки в документе потом выбрать из них те, что ссылаються на жпг-файли и если сылка содержит - хттп то проверить соответствует домен этой ссылки домену самой гали, и т.д. и тп Да как то громозко получаеться! Неужели нет готовых библиотек классов, с функциями обработки хтмл документов???! Вот сколько скриптов пишеться под ТГП, ротаторы - наверняка используються какието готовые решения....

Слив/Подлив трафа только на Traffic Holder!

0
 

programmer

С нами с 08.12.02
Сообщения: 7607
Рейтинг: 5752

Ссылка на сообщениеДобавлено: 15/09/05 в 19:35       Ответить с цитатойцитата 

Цитата:
preg_match_all("'<img[^>]*src\s*=\s*([\"\'])?(?(1)(.*?)\\1|([^\s\>]+))'isx",$contentstring,$imatches);

выдирает имиджи
Цитата:
ereg("^http://w*\.*(.+)\\\?",$the_url,$regs);

регулярка для урлов

крипта на ByBit

3
 



С нами с 25.06.03
Сообщения: 491
Рейтинг: 77

Ссылка на сообщениеДобавлено: 15/09/05 в 19:35       Ответить с цитатойцитата 

Neuromancer спасибо за ссылочку сейчас изучаю. Может это то что мне надо. Мне то и надо именно по тегам бпродить icon_smile.gif

Но если, кто еще, что подсказать может, буду признателен и естественно +3 Ж)

Слив/Подлив трафа только на Traffic Holder!

0
 



С нами с 25.06.03
Сообщения: 491
Рейтинг: 77

Ссылка на сообщениеДобавлено: 15/09/05 в 19:36       Ответить с цитатойцитата 

Sterx - биг СЕНКС! +3

Слив/Подлив трафа только на Traffic Holder!

0
 



С нами с 16.10.03
Сообщения: 686
Рейтинг: 392

Ссылка на сообщениеДобавлено: 15/09/05 в 19:39       Ответить с цитатойцитата 

Я вот такую вещь использую в парсере фришников:
if (preg_match_all ("/<a.+href *= *([\"'`])([^>]+(\.jpg|\.gif\|\.png|\.avi|\.wmv|\.mpg|\.mov))\\1[^>]*> *<img.+src *= *([\"'`])([^>]+)\\4[^>]*> *<\/a>/Ui", $response, $matches)) {
$pics = array_unique($matches[2]);
$thumbs = array_unique($matches[5]);
И дальше классом clsUrl проверяю, принадлежит ли тумба и пикса хосту.
Но эта штука не работает, если пикса или тумба не заключены в кавычки.

Выигрышная стратегия игры в покер

3
 

kernel-video-sharing.com

С нами с 02.11.03
Сообщения: 824
Рейтинг: 558

Ссылка на сообщениеДобавлено: 16/09/05 в 09:44       Ответить с цитатойцитата 

[del]

Последний раз редактировалось: KVS Support (03/07/17 в 23:30), всего редактировалось 1 раз

1
 



С нами с 16.10.03
Сообщения: 686
Рейтинг: 392

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

Тэг base я никогда не встречал в галерах, а вот относительная адресация применяется в большинстве случаев, поэтому дальше адрес преобразовыватся в абсолютный. Но это фигня, тот же класс clsUrl содержит функцию которая это делает. Единственный случай, когда регэксп не срабатывает - это если урл не заключен в кавычки.

Выигрышная стратегия игры в покер

2
 

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 ()
Ссылка на сообщениеДобавлено: 16/09/05 в 10:12       Ответить с цитатойцитата 

У Пентарха кажется на сайте есть готовый скрипт для этого.
Я для выдирания тумб вообще потеговый перебор использую, глупо - но работает.

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

3
 

kernel-video-sharing.com

С нами с 02.11.03
Сообщения: 824
Рейтинг: 558

Ссылка на сообщениеДобавлено: 16/09/05 в 10:42       Ответить с цитатойцитата 

[del]

Последний раз редактировалось: KVS Support (03/07/17 в 23:29), всего редактировалось 1 раз

1
 

Genuine Quality

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

Ссылка на сообщениеДобавлено: 16/09/05 в 10:47       Ответить с цитатойцитата 

топистартер, если хошь написать нормальный грабер, не пользуйся регэкспами, они всего не учтут... везде свтречается очень много плохого форматирования, и отсутствие кавычек еще не самое страшное. я пользуюсь quiotix java парсером, но все равно приходится учитывать такие моменты как base тег и урл вида "/thumbs/1.jpg".

2
 



С нами с 28.05.04
Сообщения: 201
Рейтинг: 146

Ссылка на сообщениеДобавлено: 16/09/05 в 11:50       Ответить с цитатойцитата 

Парсить HTML регекспами, как заметил Simplex, неээфективно.
Есть фришный класс для этого у Jazarsoft - HTML Parser/PHP. На выходе получаете массив.
Код:
include("parser.php");
$parser = new classParser;
$parser->InsertHTML($thebuffer);
$parser->Parse();
$result=$parser->GetElements(&$htmlcode);
if ($result) {
  for ($i=0;$i<count($htmlcode);$i++) {
    echo $htmlcode[$i];
  }
}


Естественно все ситуации с <BASE> и относительными/абсолютными ссылками надо обрабатывать самому.
Если не подходит можно поискать альтернативу на phpclasses.org

3
 



С нами с 16.02.05
Сообщения: 123
Рейтинг: 155

Ссылка на сообщениеДобавлено: 16/09/05 в 17:54       Ответить с цитатойцитата 

Да проще всего регулярными выражениями. Тем более если все равно BASE самому учитывать icon_smile.gif
А все скобки/кавычки там очень легко и просто вычисялются и упускаются. Уже больше года как сам сделал и пользую - пока прострелов небыло.

Раскачаем этот мир!
CashTemptation: Имеющий да yдовлетворится...

1
 



С нами с 25.06.03
Сообщения: 491
Рейтинг: 77

Ссылка на сообщениеДобавлено: 16/09/05 в 18:40       Ответить с цитатойцитата 

все к чему я пока пришел, так это исплользовать parser.php класс, а потом перебирая массив, выбирать заключенные в ссылки имиджи, используя регулярки. Получаеться вроде двойная работа, но с другой стороны регулка меннее сложная и как мне кажеться больше нажности. Я даже пробовал в хтмл-код вставлять не закончинные теги, типа - < a href=#'>, </a> - без первого тега и т.д. и вроде все определяет точно. Сейчас хочу добавить проверку на яву, мета т.д. и все это описать красиво, а потом останеться только вывод тумб, для выбора нужной и сохранение ее на сервер + генерация файла с описанием гали по шаблону, типа url||number||desc||file_thmbs. Вот и весь скрипт icon_smile.gif

P.S. Все-же, если кто, что может подсказать, каким кодом поделиться буду очень благодарен и естественно оценю по полной!

Слив/Подлив трафа только на Traffic Holder!

0
 



С нами с 25.06.03
Сообщения: 491
Рейтинг: 77

Ссылка на сообщениеДобавлено: 16/09/05 в 23:40       Ответить с цитатойцитата 

Ну и по ходу еще вопросик:
я хочу сдделать отдельный скрипт, что б выводить с помощу его сграбленные тумбы, т.е. типа - скрипт.пхп?урл_к_тумбе - возврашает .jpg файл.( так что б можно было этот скрипт включать в <img>). Хоть намекните - +3 гарантирую icon_smile.gif

Слив/Подлив трафа только на Traffic Holder!

0
 



С нами с 28.05.04
Сообщения: 201
Рейтинг: 146

Ссылка на сообщениеДобавлено: 17/09/05 в 13:00       Ответить с цитатойцитата 

Я думаю эта статья прояснит все до мелочей
http://www.devarticles.com/c/a/PHP/Generating-Images-on-the-Fly-With-PHP

3
 



С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362

Ссылка на сообщениеДобавлено: 17/09/05 в 15:13       Ответить с цитатойцитата 

Remy писал:
Ну и по ходу еще вопросик:
я хочу сдделать отдельный скрипт, что б выводить с помощу его сграбленные тумбы, т.е. типа - скрипт.пхп?урл_к_тумбе - возврашает .jpg файл.( так что б можно было этот скрипт включать в <img>). Хоть намекните - +3 гарантирую icon_smile.gif


http://php.net/image

3
 



С нами с 25.06.03
Сообщения: 491
Рейтинг: 77

Ссылка на сообщениеДобавлено: 17/09/05 в 16:51       Ответить с цитатойцитата 

TAiNT писал:
Я думаю эта статья прояснит все до мелочей
http://www.devarticles.com/c/a/PHP/Generating-Images-on-the-Fly-With-PHP


вот-вот - генерация имимджов на лету, сенкс TAiNT icon_smile.gif

Слив/Подлив трафа только на Traffic Holder!

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

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


Перейти:  



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

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

Опросы

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



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