форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / Создание сайта / Скрипт граббера |
| Автор | Сообщение |
| acsid Alfa Guru 2436 |
# Дата: 27 Янв 2008 00:52 ° Поправил: acsid Пишу скрипт граббера. Столкнулся с проблемой. Есть строка $str, это хтмл код взятый граббером с другого сайта. Дощел до момента, когда в строке $str нужно найти теги картинок и взять оттуда адрес картинки (src). Как это сделать логично? |
| acsid Alfa Guru 2436 |
# Дата: 27 Янв 2008 10:28
if(strpos($str,"<img src=\"")!=""){
$urlstart = strpos($str,'"',0)+1;
$urlend = strpos($str,'"',$urlstart);
$url = substr($str,$urlstart,$urlend-$urlstart);
}
спасиба всем кто думал) |
| gl_SPICE Участник 1766 |
# Дата: 27 Янв 2008 11:10 Может проще регулярками? Особенно если много по объёму сграблено. |
| Roler USA Hater 1353 |
# Дата: 27 Янв 2008 11:15 А регулярные выражения вроде же больше грузят? |
| acsid Alfa Guru 2436 |
# Дата: 27 Янв 2008 11:54 gl_SPICE у меня с регулярками проблемы), можешь привести пример если не сложно |
| gl_SPICE Участник 1766 |
# Дата: 27 Янв 2008 14:50 Дык я тоже не программер . Писал когда-то грабилку Яндекс-новостей, помню мудохался с этим strpos по началу, а потом откапал функцию preg_match_all - ищет глобальные совпадения по шаблону, и весь код уместился в 10 строк . Но это смотря какой текст получать, я думаю, Я.новости под один шаблон идеально подходили . |
| Константин TorrentMaster 3515 |
# Дата: 27 Янв 2008 15:21 Приведенный выше код неверен: он провалится вот на таком: <img height="600" src="http://kartinko/i.jpg" width="56"> Т.ч. только регулярками: шаблон будет /src(.*?)http(.*?) / записываем в $matches затем через strreplace выкинуть кавычки из $matches[2], если есть и заново прицепить в начало http - адрес получен |
| acsid Alfa Guru 2436 |
# Дата: 28 Янв 2008 01:15 Константин хм.. утром попробую. Спасиба! |
| acsid Alfa Guru 2436 |
# Дата: 28 Янв 2008 18:01 Вот рабочий скрипт: <? $subject="assafd<img src='http://www.mobguru.net/123.jpg' height='5'> fdas <b>sd Достаёт и выводит все ссылки: http://www.mobguru.net/123.jpg http://www.mobguru.net/img.jpg Остаёться только закачать картинки к себе на сервер, и заменить ссылки на свои. ![]() |
| maxtat pda killer 1489 |
# Дата: 28 Янв 2008 23:56 ° Поправил: maxtat А src параметр есть только в img? А то лишнего может вытянуть. Кстати скрипт не вытянет картинки с относительным путем, или в твоем случае все картинки через http заданы? |
| Константин TorrentMaster 3515 |
# Дата: 29 Янв 2008 01:09 Там можно написать более аккуратную регулярку: /img(.*?)src(.*?)(=|"|')(.*?)("| |')/ - тут что-то надо отэкранировать и пробел вроде заменить на s ну и тащить результат из $matches[4]. Так же вырезать из него кавычки, а затем проверить - если нет http:// вначале, то при цепить полный адрес страницы без имени файла, из кода которой картинка выдергивается... Улучшать можно долго, только вот надо ли... |
| acsid Alfa Guru 2436 |
# Дата: 29 Янв 2008 13:40 ° Поправил: acsid maxtat в моём конкретном случае src параметр есть только в img. Т.к. я переменную обработал $str= strip_tags($second,"<img><a><font><li><b><s><i><u><br><p>"); Константин На данный момент и так сойдёт) |
| maxtat pda killer 1489 |
# Дата: 30 Янв 2008 00:01 А ок, просто ты про это не упомянул ![]() |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:30592, gzipped size:9172 |