Сохранить ссылку на изображение из поиска Google в MySQL - PullRequest
0 голосов
/ 14 января 2012

Когда мы вводим слово в поиск картинок Google, страница возвращается. Эта страница содержит много картинок с миниатюрами. Я хочу сохранить URL местоположения этих изображений в моей базе данных (MySQL). Мне нужно кодировать это в PHP, и я хочу сохранить URL первых 10 изображений. Я создаю динамическую страницу, я выберу эти URL-адреса изображений из базы данных и покажу их на моей динамической странице.

Я уже много пробовал, и проблема в том, что мой полный URL не сохранен, поскольку он содержит много недопустимых символов для MySQL. Я искал много сайтов и нашел различные функции, но мне все еще не ясно об этом: я не в состоянии придумать, как я могу сделать эту работу. Может кто-нибудь дать мне какой-нибудь код PHP или процедуру, как это можно сделать?

Ответы [ 2 ]

1 голос
/ 14 января 2012

Я бы посоветовал вам использовать PHP DOM Library .Он очень мощный и позволяет анализировать любую структуру DOM.Обратитесь к некоторым из его примеров, и вы могли бы легко их реализовать.

Идея состоит в том, что вы изучаете структуру HTML страницы, возвращаемой Google, и соответственно используете библиотеку DOM для анализа определенных тегов.Из того, что я вижу, изображения организованы в виде тегов <ul> и <li>, например:

<ul class="rg_ul" data-pg="1" data-cnt="6">
    <li class="rg_li" data-row="1" style="width:216px;height:162px"></li>
    <li class="rg_li" style="width:231px;height:162px"></li>
    <li class="rg_li" style="width:218px;height:162px"></li>
    <li class="rg_li" style="width:216px;height:162px"></li>
    <li class="rg_li" style="width:216px;height:162px"></li>
    <li class="rg_li" style="width:217px;height:162px"></li>
</ul>

Внутри каждого тега <li> есть дополнительные теги, один из которых <a>.Кажется, у этого тега есть 2 атрибута - «imgrefurl» и «imgurl», которые могут дать вам нужное изображение.Какой из этих 2 атрибутов вам нужен для изучения.

В качестве альтернативы, в <li> есть тег <img>, который имеет атрибут "src", содержащий фактический двоичный файл изображения.Таким образом, вы можете разобрать это также.Обратите внимание, что двоичный файл предназначен для изображения, которое вы видите на странице поиска, а не для реального изображения.

Для некоторых указателей на DOM этот метод может быть полезен - http://www.php.net/manual/en/domelement.getelementsbytagname.php и http://www.php.net/manual/en/domelement.hasattribute.php - прочитать все <li> теги и затем проанализировать те, которые используют класс "rg_li".

Надеюсь, вышеприведенное имеет смысл

0 голосов
/ 14 января 2012

Этого можно добиться с помощью библиотек PHP curl и класса PHP DOMDocument , затем используйте библиотеки Mysql или Mysqli для подключения к базе данных.Справку по MySQL можно найти здесь: MySQL Doc .

...