0

Google 画像検索で単語を入力すると、ページが返されます。このページには、サムネイル表示の画像が多数含まれています。これらの画像の場所の URL をデータベース (MySQL) に保存したいと考えています。これを PHP でコーディングする必要があり、最初の 10 個の画像の URL を保存したいと考えています。動的ページを設計しています。これらの画像 URL アドレスをデータベースから選択し、動的ページに表示します。

私はすでに多くのことを試しましたが、MySQL で無効な文字が多数含まれているため、完全な URL が保存されないという問題があります。私は多くのサイトを検索し、さまざまな機能を見つけましたが、これについてはまだ明確ではありません。この仕事を行う方法を考え出すのに失敗しています. 誰かがPHPコードまたはそれを行うための手順を教えてもらえますか?

4

2 に答える 2

1

PHPのDOMライブラリを使用することをお勧めします。これは非常に強力で、任意のDOM構造を解析できます。その例のいくつかを参照すると、簡単に実装できます。

Googleから返されたページのHTML構造を調べ、それに応じて特定のタグを解析するために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>タグ内には追加のタグがあり、そのうちの1つはです<a>。このタグには、「imgrefurl」と「imgurl」の2つの属性があり、必要な画像が得られる可能性があります。これらの2つの属性のどちらが必要かは、探索するためのものです。

または、実際の画像バイナリを含む「src」属性を持つ<img>タグが含まれています。<li>したがって、それを解析することもできます。バイナリは検索ページに表示される画像用であり、実際の画像ではないことに注意してください。

DOMへのいくつかのポインターについては、このメソッドが役立つ場合があります-http ://www.php.net/manual/en/domelement.getelementsbytagname.phpおよびhttp://www.php.net/manual/en/domelement.hasattribute php-すべてのタグを読み取り、<li>クラス「rg_li」を使用してタグを解析します

上記が理にかなっていることを願っています

于 2012-01-14T18:37:42.317 に答える
0

PHP curl ライブラリと PHP クラスDOMDocumentを使用してこれを実現し、Mysql または Mysqliライブラリを使用してデータベースに接続できます。MySQL のヘルプは、MySQL Docにあります。

于 2012-01-14T14:39:44.987 に答える