Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Bild-URL aus der Google-Suche in MySQL speichern

Ich würde vorschlagen, dass Sie die DOM-Bibliothek von PHP verwenden . Es ist sehr leistungsfähig und ermöglicht das Parsen jeder DOM-Struktur. Sehen Sie sich einige seiner Beispiele an und Sie könnten es leicht implementieren.

Die Idee ist, dass Sie die HTML-Struktur der von Google zurückgegebenen Seite studieren und entsprechend die DOM-Bibliothek zum Parsen bestimmter Tags verwenden. Soweit ich sehe, sind die Bilder als <ul> organisiert und <li> Tags, wie:

<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>

Innerhalb jedes <li> Tag gibt es zusätzliche Tags, von denen eines <a> ist . Dieses Tag scheint 2 Attribute zu haben - "imgrefurl" und "imgurl" - die Ihnen möglicherweise das gewünschte Bild liefern. Welche dieser beiden Eigenschaften Sie benötigen, müssen Sie selbst erkunden.

Alternativ gibt es einen <img> -Tag innerhalb von <li> das ein "src"-Attribut hat, das die eigentliche Bildbinärdatei enthält. Sie können es also auch parsen. Bitte beachten Sie, dass die Binärdatei für das Bild gilt, das Sie auf der Suchseite sehen, und nicht für das eigentliche Bild.

Für einige Verweise auf DOM könnte diese Methode nützlich sein - http://www .php.net/manual/en/domelement.getelementsbytagname.php und http://www.php.net/manual/en/domelement. hasattribute.php - um alle <li> zu lesen Tags und parsen Sie dann nach denen, die die Klasse "rg_li" verwenden.

Ich hoffe, das Obige macht Sinn