[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсер картинок
Эли4ка
Привет мальчишки...не могли бы вы подправить скрипт так чтобы он парсер не ответы а кратинки с поисковика гугла

вот код
<form action="index" method="get">
<
input type="text" name="q" value="<?echo $_GET['q'];?>">
<
input type="submit" value="search">
</
form>
<
hr>
<?PHP
$post = str_replace(' ', '+', $_GET['q']);
if(!isset($_GET['p'])){$_GET['p'] = 0;}
$start = $_GET['p'];
//Сайт на котором ищем ~ можно закоментировать, тогда поиск будет глобальным
//$site = "site:moysait.com"; //Без http и www
//Сам запрос

$query = "http://www.google.com/search?hl=ru&client=opera&hs=2xN&rls=ru&q=&quo t;.$site."+".$post."&aq=f&aqi=g10&aql=&oq=&start=".$start."";
//смотрим код страници которую получили по запросу
$code = file_get_contents($query);
//Получаем:
//1.ссылка

$url = "|\<li class\=g\>\<h3 class=\"r\">\<a href\=\"(.*)\".*|U";
preg_match_all($url, $code, $surl);
$url = $surl[1];
//2.титл
$title = "|\<*.g\>\<h3.*\>\<a .*\>(.*)\<\/a\>\<\/h3\>.*|U";
preg_match_all($title, $code, $stitle);
$title = $stitle[1];
//3.описание
$text = "|lass\=\"s\"\>(.*)<a.*>.*|U";
preg_match_all($text, $code, $stext);
$text = $stext[1];
//считаем сколько у нас результатов поиска на страничке
$c = count($title);
//выводим
for($i=0; $c>=$i; $i++)
{
//Не будем выводить инфу если переменые пустые.
if(!empty($text[$i]) or !empty($url[$i]) or !empty($title[$i]))
{
echo $i+1+$start;
echo ". <b><a href='".$url[$i]."'>".$title[$i]."</a></b>
<br>
<i>"
.$text[$i]."</i>
<hr width=50%>"
;
}
}

//Вперед и назад, навигация типа
echo "<center>";
//отчет назад
$b = $start-10;
if(!empty($start))
{
echo "<a href='?q=".$post."&p=".$b."'><<<</a> Back ";
}
//отчет в перед
$n = $start+10;
if(!empty($_GET['q']))
{
echo "| Next <a href='?q=".$post."&p=".$n."'>>>></a>";
}
echo "</center>";
?>




Спустя 20 минут, 37 секунд (24.03.2011 - 14:27) sergeiss написал(а):
На всякий случай - прямо над полем ввода текста есть кнопки для кодов. Которые позволяют "подсветить" код. Это я про форум говорю smile.gif Рекомендую пользоваться, намного лучше текст читать.
А первое сообщение я подправлю, чтобы оно удобнее было для читающих его.

PS. Похоже, там были эти тэги... Только как-то неправильно поставились сначала.

И по сути вопроса. Укажи текст, который тебе надо парсить. Потому что иначе не понятно, о чем идет речь. Не обязательно всю страницу гугла smile.gif, но как минимум часть того, что надо обрабатывать.

Спустя 2 часа, 4 минуты, 34 секунды (24.03.2011 - 16:31) Эли4ка написал(а):
ты понимаешь, мне надо переделать этот скрипт так,чтобы вместо ответов(сайтов с веба гугла) приходили фотографии(изображение) ,но так чтобы они видны были ,а не просто сайты,где эти изображение есть.
P.S. за подправку кода спасибо.

Спустя 29 минут, 54 секунды (24.03.2011 - 17:01) sergeiss написал(а):
Цитата (Эли4ка @ 24.03.2011 - 17:31)
чтобы вместо ответов(сайтов с веба гугла) приходили фотографии(изображение) ,но так чтобы они видны были ,а не просто сайты,где эти изображение есть

В настоящее время ты предлагаешь, по сути дела, пойти в гугль, получить там страницу, прочитать её HTML-код и выдать тебе твой ПХП-код в скорректированном виде. Так получается? А я тебе говорю - покажи ту страницу, которую ты хочешь парсить. И именно ту часть, которая значимая, не обязательно всю страницу.

Спустя 9 часов, 55 минут, 26 секунд (25.03.2011 - 02:57) Эли4ка написал(а):
Прошу прощения,это я не с того браузера зашла..удалите пожалуйста пост.
а поняла!вот адрес сраницы:http://www.google.ru/images?hl=ru&source=hp&biw=1280&bih=834&q=сам запрос&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BE%D0%BA&gbv=2&aq=f&aqi=g10&aql=&oq=
и значимая часть кода для меня является ,та где располагаются изображения.Надеюсь понятно обьяснила..

Спустя 1 день, 11 часов, 9 минут, 36 секунд (26.03.2011 - 14:06) Guest написал(а):
А через родное API парсить не проще?
<?php

//Кей:
$keyforparse = "keyword";
//URL для запроса:

$url = "http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=".urlencode($keyforparse)."";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$json_data = curl_exec($ch); //Запускаем curl
curl_close($ch);
//Теперь надо распарсить JSON ответ.
$response = json_decode($json_data, true);

//Теперь разбираемся с результатами

for($counter=0; $counter < sizeof($response['responseData']['results']); $counter++){
echo("".$response['responseData']['results'][$counter]['url']."<br/>"); //url - выведет ссылки на картинки. Подробнее см тут - http://www.google.com.ua/url?sa=t&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fcode.google.com%2Fapis%2Fimagesearch%2Fv1%2Fjsondevguide.html &ei=r8iNTYaCFY2XhQeYh4C8Dg&usg=AFQjCNF5b_Yed5wrncKLQYS3lbTK7EiNWA
}


?>

Спустя 9 минут, 33 секунды (26.03.2011 - 14:16) Эли4ка написал(а):
спасибо,и мне это заменить вместо моего PHP-кода,да?
Быстрый ответ:

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