форум вебмастеро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 
asd <img width='10' src='http://www.mobguru.net/img.jpg' height='5'>sfsdfsdfsfsf
s"; $pattern ='/src(.*?)http(.*?) /'; preg_match_all($pattern,$subject, $matches, PREG_SET_ORDER); foreach ($matches as $val) { $val[2]=str_replace("'","",$val[2]); print "http$val[2]<br>"; } ?>



Достаёт и выводит все ссылки:

 
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


А ок, просто ты про это не упомянул

Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:30592, gzipped size:9172

Mp3 Download || Мир Спанч боба || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]