如何在我的页面上自动显示第一张 google 图片?
How do I automatically display the first google image on my page?
我有一个页面自动从 MySQL 数据库中检索两个随机条目,并要求用户在每次刷新页面时比较它们。如何将这两个字符串自动转换为第一个 google 图像结果?这是我目前所拥有的:
<?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
那么如何将 link 变成第一张图片的 link 呢?或者真的是第一对夫妇中的任何一个。 (在这种情况下:http://cdn3.denofgeek.us/sites/denofgeekus/files/sunny_0.jpg)
好的,这就是我最终为每个查询随机生成两张图片所做的事情:
首先我下载了这个并将其添加到与网页相同的目录中:http://simplehtmldom.sourceforge.net/
然后我只是在 div 我希望图片显示的地方添加了 PHP 代码:
<?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 像素),但实际上非常适合我正在尝试做的事情。如果您想检索一张完全不同的蠕虫病毒的非缩略图图片。
我有一个页面自动从 MySQL 数据库中检索两个随机条目,并要求用户在每次刷新页面时比较它们。如何将这两个字符串自动转换为第一个 google 图像结果?这是我目前所拥有的:
<?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
那么如何将 link 变成第一张图片的 link 呢?或者真的是第一对夫妇中的任何一个。 (在这种情况下:http://cdn3.denofgeek.us/sites/denofgeekus/files/sunny_0.jpg)
好的,这就是我最终为每个查询随机生成两张图片所做的事情:
首先我下载了这个并将其添加到与网页相同的目录中:http://simplehtmldom.sourceforge.net/
然后我只是在 div 我希望图片显示的地方添加了 PHP 代码:
<?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 像素),但实际上非常适合我正在尝试做的事情。如果您想检索一张完全不同的蠕虫病毒的非缩略图图片。