[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: favikon приложений в контакте
Lightt
Помогите разобраться с парсером.
Объясните, если не сложно, как это работает вообще, мне нужен небольшой парсер который будет парсить иконку сайта, который введен в <input type="text"> и будет сохранять её в папку...


Реально ли получить иконки с приложений в контакте?Нарыл для себя уже кучу сайтов типа -
http://www.getfavicon.org/results.php?url=mail.google.com
http://www.google.com/s2/favicons?domain=
http://favicon.yandex.net/favicon/
Но они и не думают показывать то что нужно... это вообще реально осуществить?
Или стоит забить на эту идею? С другой стороны, мозила ведь как то их находит, если добавлять в закладки...значит это все таки реально?



Спустя 1 час, 54 минуты, 47 секунд (4.11.2011 - 14:57) Winston написал(а):
preg_match() + CURL

Спустя 2 минуты, 45 секунд (4.11.2011 - 15:00) Игорь_Vasinsky написал(а):
Winston
наоборот biggrin.gif

Спустя 56 секунд (4.11.2011 - 15:01) Winston написал(а):
Цитата (Игорь_Vasinsky @ 4.11.2011 - 14:00)
наоборот 

Почему?
file_get_contents - получаешь страницу
preg_match() - парсишь имя файла
curl - скачиваешь его

Спустя 4 часа, 43 минуты, 16 секунд (4.11.2011 - 19:44) Lightt написал(а):
Не разобрался =) но нашел способ проще и быстрей, на этом же сайте...


$url = "phpforum.ru";
$iconka = '<img src="http://www.google.com/s2/favicons?domain='.$url.'" width = "16" height = "16">';
echo $iconka;


Но теперь другая проблема, как мне сохранить эту иконку на комп?
Сейчас вот понял что никогда этого не делал, и понятия не имею, как же её запихать в папку =)

Спустя 4 минуты, 1 секунда (4.11.2011 - 19:48) Winston написал(а):
Вот пример того как скачать файл с сайта.

Спустя 1 час, 7 минут, 45 секунд (4.11.2011 - 20:56) Игорь_Vasinsky написал(а):
Winston
Цитата
preg_match() + CURL


а так по порядку
CURL+preg_match()
;)

Спустя 34 минуты, 16 секунд (4.11.2011 - 21:30) Winston написал(а):
Цитата (Игорь_Vasinsky @ 4.11.2011 - 19:56)
а так по порядку
CURL+preg_match()

Игорь_Vasinsky
biggrin.gif
Я же сказал, что
Цитата (Winston @ 4.11.2011 - 14:01)
file_get_contents - получаешь страницу
preg_match() - парсишь имя файла
curl - скачиваешь его

CURL'ом только файл скачивать буду, а код страницы с помощью file_get_conents() получаю!

Спустя 3 минуты (4.11.2011 - 21:33) alexbel2404 написал(а):
copy($url, $dir. '/' .$file)

я так копирую картинки)

Спустя 2 минуты, 39 секунд (4.11.2011 - 21:36) Winston написал(а):
Цитата (alexbel2404 @ 4.11.2011 - 20:33)
я так копирую картинки)

Даже с чужого сайта копируется ? huh.gif

Спустя 9 минут, 39 секунд (4.11.2011 - 21:46) alexbel2404 написал(а):
Цитата (Winston @ 4.11.2011 - 22:36)
Цитата (alexbel2404 @ 4.11.2011 - 20:33)
я так копирую картинки)

Даже с чужого сайта копируется ? huh.gif

да)

Спустя 19 минут, 35 секунд (4.11.2011 - 22:05) Lightt написал(а):
alexbel2404
А можно реальный пример? =)
Он сработает если вписать его в этот код?


$text2 = "http://phpforum.ru/index.php?showtopic=53209" ;
$url = preg_replace("/^(http:\/\/)?(www\.)?([a-z\-0-9]+\.[a-z]{2,4}).*$/", "\\3", $text2);
$iconka = '<img src="http://www.google.com/s2/favicons?domain='.$url.'" width = "16" height = "16">';
echo $iconka;
echo $url;


И еще вопрос, не подскажите, как поменять регулярку, чтобы под шаблон проходили сайты типа -
http://cs11298.vkontakte.ru/u7801996/-14/m_4c9e1f82.jpg
http://bash.org.ru/abyssbest
Потому что доходя до точки, регулярка останавливается и считает доменом
cs11298.vkon

Спустя 27 минут, 51 секунда (4.11.2011 - 22:33) Winston написал(а):
Дык тебе нужно preg_match_all, а не preg_replace, для того, чтобы достать все ссылки.

Ну вот, небольшой пример накидал...
$file = file_get_contents('http://phpforum.ru');    // Получаем страницу
preg_match_all("#<img.*src=(\"|')(.*)\\1.*>#isU", $file, $images); // Достаем пути к картинкам
$names = array_map(create_function('$item', 'preg_match("#[\w.-]+$#isU", $item, $names); return reset($names);'), $images[2]); // Возвращаем массив в котором хранятся имена картинок
array_map(create_function('$path, $image', 'return copy("http://phpforum.ru/" . $path, "./img/" . $image);'), $images[2], $names); // Скачиваем картинки с phpforum.ru и сохраняем у себя в папке img

Спустя 2 минуты, 37 секунд (4.11.2011 - 22:36) alexbel2404 написал(а):
Цитата (Lightt @ 4.11.2011 - 23:05)
alexbel2404
А можно реальный пример? =)
Он сработает если вписать его в этот код?


$text2 = "http://phpforum.ru/index.php?showtopic=53209" ;
$url = preg_replace("/^(http:\/\/)?(www\.)?([a-z\-0-9]+\.[a-z]{2,4}).*$/", "\\3", $text2);
$iconka =  '<img src="http://www.google.com/s2/favicons?domain='.$url.'"  width = "16" height = "16">';
echo $iconka;
echo $url;


И еще вопрос, не подскажите, как поменять регулярку, чтобы под шаблон проходили сайты типа -
http://cs11298.vkontakte.ru/u7801996/-14/m_4c9e1f82.jpg
http://bash.org.ru/abyssbest
Потому что доходя до точки, регулярка останавливается и считает доменом
cs11298.vkon


private static function downloadImage($url, $dir, $id)
{
for($i=0; $i<self::$repeatOnError; ++$i)
{
$file = $id .'.jpg';
if (copy($url, $dir. '/' .$file))
return $file;
}
throw new Exception("Не удалось скачать изображение {$url}");
}


ну если чем-то поможет, вот мой метод закачивания файла)

Для работы регулярками использую http://gskinner.com/RegExr/, в блоке справа много шаблонов.

Спустя 2 дня, 14 часов, 38 минут, 42 секунды (7.11.2011 - 13:14) Lightt написал(а):
ап)) чтобы не создавать похожие темы, решил изменить эту.. с новым вопросом теперь.=)

Реально ли получить иконки с приложений в контакте?Нарыл для себя уже кучу сайтов типа -
http://www.getfavicon.org/results.php?url=mail.google.com
http://www.google.com/s2/favicons?domain=
http://favicon.yandex.net/favicon/
Но они и не думают показывать то что нужно... это вообще реально осуществить?
Или стоит забить на эту идею? С другой стороны, мозила ведь как то их находит, если добавлять в закладки...значит это все таки реально?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.