【问题标题】:How do I automatically display the first google image on my page?如何在我的页面上自动显示第一张谷歌图片?
【发布时间】:2016-02-10 02:43:56
【问题描述】:

我有一个页面,它会自动从 MySQL 数据库中检索两个随机条目,并在每次刷新页面时要求用户比较它们。如何自动将这两个字符串转换为第一个谷歌图像结果?这是我目前所拥有的:

<?php //I retrieve the names and group names here//
$firstpersonaName = (string) $row["personaName"];
$firstpersonaGroupName = (string) $row["groupName"];
    $firstpersonaGroupNameForGoogle = preg_split('( )', $firstpersonaGroupName);
?> //then convert any group names containing spaces into arrays here//

<?php  //then here I build the query that displays a google image page//
    $newname = '';
    foreach ($firstpersonaGroupNameForGoogle as $firstpersonaPartofGroupName) {
        $newname = $firstpersonaPartofGroupName . '+';
    }
    $newname = rtrim($newname, "+");
    echo "https://www.google.com/search?q=" . $firstpersonaName . "+" . $newname . '&tbm=isch'; 
?>

这给了我类似的东西:https://www.google.com/search?q=charlie+always+sunny&tbm=isch

那么我如何获取该链接并将其转换为第一张图片的链接?或者真的是第一对夫妇中的任何一个。 (在这种情况下:http://cdn3.denofgeek.us/sites/denofgeekus/files/sunny_0.jpg

【问题讨论】:

    标签: javascript php jquery google-image-search


    【解决方案1】:

    好的,这就是我最终为每个查询随机生成两张图片所做的事情:

    首先我下载了​​这个并将其添加到与网页相同的目录中:http://simplehtmldom.sourceforge.net/

    然后我简单地将这个 PHP 代码添加到我希望显示图片的 div 中:

    <?php
        // Include the php dom parser    
        include_once 'simple_html_dom.php';
        //build the google images query
        $newname = '';
        foreach ($firstpersonaGroupNameForGoogle as $firstpersonaPartofGroupName) {
            $newname = $firstpersonaPartofGroupName . '+';
        }
        $newname = rtrim($newname, "+");
        //echo "https://www.google.com/search?q=" . $firstpersonaName . "+" . $newname . '&tbm=isch'; 
        $newname = "https://www.google.com/search?q=" . $firstpersonaName . "+" . $newname . '&tbm=isch';
    
        //use parser on queried page
        $html = file_get_html($newname);
        //echo $html;
    
        //create an array for all pics on page
        $picarray = array();
        $picurl = '';
    
        // Find all images 
        foreach($html->find('img') as $element) {
           //echo $element->src . '<br>';
           $picurl = $element->src;
           array_push($picarray,$picurl);
        }
        //then pick two random ones
        $picurl = $picarray[array_rand($picarray)];
        echo "<img src=" . $picurl . ">";
        $picurl = $picarray[array_rand($picarray)];
        echo "<img src=" . $picurl . ">";
    
    ?>
    

    它们的分辨率非常小(大约 150 像素),但它实际上非常适合我正在尝试做的事情。如果你想检索一张完全不同的蠕虫罐头的非缩略图图片。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 2016-04-11
      相关资源
      最近更新 更多