Как-то спрашивали про парсер Flickr, вот и решил написать. Поиском не нашел.
Немного технической информации - используется Flickr API. Для использования API необходимо получить ключик (достаточно зарегиться на Yahoo и хорошо попрописть Flickr дать хэш). В скрипте мой хэш. Какие ограничения накладывает Фликр на количество запросов - не знаю. Если будут санкции, то зарегистрируйте себе отдельный API Key :) Также необходима либа phpFlickr.
Парсер может выводить картинки как на экран, так и писать в локальную папку. Имеется выбор размеров, задается количество необходимых картинок.
Скрипт писался в течении 10 минут, так что если будут косяки или пожелания по доделке/переделке - оставляйте в теме.
Вот сам index.php:PHP код:Тут же меняем папку для закачки картинок. Если надо - $API_KEY.<?php
require_once './phpFlickr-2.3.0.1/phpFlickr.php' ;
$API_KEY = '76330238527b84803a075a1f68a4879d' ;
$size_array = array(
't' => array( 'name'=>'thumbnail', 'title' => 'thumbnail, 100 on longest side' ),
'm' => array( 'name'=>'small', 'title' => 'small, 240 on longest side' ),
'-' => array( 'name'=>'medium', 'title' => 'medium, 500 on longest side' ),
'b' => array( 'name'=>'large', 'title' => 'large, 1024 on longest side (only exists for very large original images)' ),
'o' => array( 'name'=>'o', 'title' => 'original' ) ) ;
$flickr = new phpFlickr( $API_KEY ) ;
$folder_to_uplaod = 'flickr/upload' ;
if ( isset( $_POST['submit'] ) )
{
$text_to_search = !empty( $_POST['text'] ) ? trim( $_POST['text'] ) : '' ;
$size_to_search = isset( $_POST['size'] ) && isset( $size_array[$_POST['size']] ) ? $size_array[$_POST['size']]['name'] : 'medium' ;
$count_to_search = isset( $_POST['count'] ) ? intval( $_POST['count'] ) : 10 ;
$upload = !empty($_POST['upload'] ) && in_array( $_POST['upload'], array( 'display', 'save' ) ) ? $_POST['upload'] : 'display' ;
$search = $flickr->photos_search( array( 'media' => 'photos' , 'text' => $text_to_search, 'per_page' => $count_to_search ) ) ;
$photos = array() ;
foreach ( $search['photo'] as $k=>$v )
$photos[] = $flickr->buildPhotoURL( $v, $size_to_search ) ;
if ( 'display' == $upload )
{
foreach ( $photos as $k=>$v )
echo '<img src="' . $v . '" />' ;
}
else
{
$new_dir = $_SERVER['DOCUMENT_ROOT'] . '/' . $folder_to_uplaod . '/' . time() . '/';
if ( !file_exists( $new_dir ) )
mkdir( $new_dir, 0777 ) ;
foreach ( $photos as $k=>$v )
{
file_put_contents( $new_dir . substr( $v, strrpos( $v, '/' ) ), file_get_contents( $v ) ) ;
}
}
}
?><html>
<head>
<title>Flickr Parser</title>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<form action="?" method="post">
Текст, картинки (тайтл, дескрипшн): <input type="text" name="text" value="search..."><br />
Размер картинки:
<select name="size">
<?php foreach ( $size_array as $k=>$v ) : ?>
<option value="<?= $k ?>"><?= $v['title'] ?></option>
<?php endforeach ; ?>
</select>
<br />
Количество картинок (0 - без ограничений): <input type="text" name="count" value="0" /><br />
Куда заливать картинки:
<select name="upload">
<option value="display">вывести на экран</option>
<option value="save">закачать в папку <?= htmlspecialchars( $folder_to_uplaod ) ?></option>
</select><br />
<input type="submit" name="submit" value="спарсить!" />
</form>
</body>
</html>
Результат парсинга с выводом на экран выглядит так:
Исходники вместе с библиотекой в аттаче.
Сервис для хранения изображений flickr.
Flickr Parser - берем image контент в нужном количестве
(Ответов: 12, Просмотров: 6449)
Парсинг - процесс скачивания определенных данных с сайтов с помощью автоматизированных программ и скриптов, так называемых парсеров. Зачем нужен парсинг? Да банально для того, чтобы извлечь необходимую информацию с сайтов, экономя при это время. К примеру, вам нужно спарсить несколько тысяч описаний фильмов и залить их на новый сайт. Вы же не будете делать руками, верно? Вот для этого и нужен парсинг.
- 11.09.2009 02:53
Последний раз редактировалось grazer; 10.05.2010 в 20:08.
Спасибо сказали:
- 11.09.2009 04:21
Я использую клас для поиска имаг в гугле. А вообще для реально промышленных обьёмов есть такой софт - Extrime picture finder. Парсит в о много потоков, с гугла, яхи, фликра и т.д.
http://www.phpclasses.org/browse/package/2311.html - 11.09.2009 11:31
То поиск в гугле, а это сразу во фликре через API. Сколько вчера качал картинки, ни разу IP ни блокнули. Закрадывается подозрение, что с этим намного попроще, чем с баном IP у гугла при частых запросах.
- 11.09.2009 12:15
Ого, полезная софтина! Респект, если действительно сам написал.
Можно тематических фотографий для сплога надёргать сразу несколько сотен, и затем вставлять по мере наполнения сплога в посты. - 11.09.2009 12:18
Ну как сам: API готовое, библиотека для работы с API готовая. Из своего - прикрутил либу к скрипту, да получил API Key
- 12.09.2009 13:49
респект
- 12.09.2009 14:20
Ух ты. Будет чем заняться на выходных! Спасибо, разберемся
- 12.09.2009 14:30
- 14.09.2009 18:49если бы подобное сделал - тебе бы тут памятник поставили. Какой-нибудь мод для "кнопке" просто суперской идеей был быЕсли надо будет встроить в дорген, то тоже можно подумать над этим
- 16.09.2009 03:55
Кстати, а как насчет названия картинок? Это походу даст больший плюс, если их именовать ключевиками или названиями препаратов по сравнению с присваиваемыми цифровыми уникальными именами
Тэги топика:
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Модифицируем Red Button под парсинг картинок с Flickr | Обучающие статьи | 17 | 04.06.2010 19:34 |
Flickr | Прочее | 1 | 19.04.2010 18:35 |
ищу WP Super Image Plugin | Софт, скрипты, сервисы | 4 | 05.04.2010 23:59 |
Где берем фарма-контент? | Вопросы от новичков | 12 | 05.03.2010 12:16 |
Помогите поставить Image CMS | Прочее | 4 | 25.01.2010 00:34 |
Интересные темы
парсер контента php
Обзоры популярных парсеров контента php, выбираем оптимальное решение под свои нужды, читаем материал.
парсер картинок
Нужен ли парсер картинок если у тебя только один сайт, стоит ли его использовать.
парсинг текста
Какими инструментами можно проводить парсинг текста, какие готвые парсеры представлены в сети.







