从谷歌图片下载MP3相册艺术的PHP脚本
我在Windows的“我的音乐”文件夹中有很多音乐专辑被组织到子文件夹中,为它们查找专辑艺术既耗时又麻烦。我以前在浏览器中使用过这个小PHP脚本,使用子文件夹的名称循环并执行Google图像查找从谷歌图片下载MP3相册艺术的PHP脚本,php,image,google-search,google-image-search,Php,Image,Google Search,Google Image Search,我在Windows的“我的音乐”文件夹中有很多音乐专辑被组织到子文件夹中,为它们查找专辑艺术既耗时又麻烦。我以前在浏览器中使用过这个小PHP脚本,使用子文件夹的名称循环并执行Google图像查找 $folders = glob('*'); foreach($folders as $folder) { if(!is_dir($folder)) { echo "Skipping {$folder}<br>"; continue; } $searchname = str
$folders = glob('*');
foreach($folders as $folder) {
if(!is_dir($folder)) {
echo "Skipping {$folder}<br>";
continue;
}
$searchname = str_replace('_',' ',$folder);
ob_flush();
echo "<b>Checking {$searchname}...</b><br>";
flush();
$googleUrl = "https://www.google.com/search?safe=off&tbm=isch&source=lnt&tbs=isz:l&q=".urlencode($searchname);
$contents = file_get_contents($googleUrl);
$doc = new DOMDocument();
$doc->loadHTML($contents);
$tags = $doc->getElementsByTagName('a');
foreach ($tags as $tag) {
$counter;
$tag = $tag->getAttribute('href');
$tag = parse_url($tag);
$tag = $tag['query'];
if ((strpos($tag, "imgurl") !== false) && ($counter < 5)) {
$counter++;
preg_match('~=(.*?)&imgrefurl~', $tag, $output);
$tag = $output[1];
$image = file_get_contents($tag);
echo "Downloading image" . $counter . ".jpg<br>";
file_put_contents("{$folder}/image" . $counter .".jpg", $image);
}
}
$counter = 0;
}
$folders=glob('*');
foreach($folders作为$folder){
如果(!is_dir($folder)){
回显“跳过{$folder}
”;
持续
}
$searchname=str_replace(“”,“”,$folder);
ob_flush();
echo“检查{$searchname}…
”;
冲洗();
$googleUrl=”https://www.google.com/search?safe=off&tbm=isch&source=lnt&tbs=isz:l&q=“.urlencode($searchname);
$contents=file\u get\u contents($googleUrl);
$doc=新的DOMDocument();
$doc->loadHTML($contents);
$tags=$doc->getElementsByTagName('a');
foreach($tags作为$tag){
$counter;
$tag=$tag->getAttribute('href');
$tag=解析url($tag);
$tag=$tag['query'];
如果((strpos($tag,“imgurl”)!==false)和($counter<5)){
$counter++;
preg_match(“~=(.*)&imgrefurl~”,$tag,$output);
$tag=$output[1];
$image=file\u get\u contents($tag);
echo“下载图像”。$counter..jpg
”;
文件内容(“{$folder}/image”。$counter..jpg”,$image);
}
}
$counter=0;
}
如果我做一个var_dump($contents),我可以在解析后看到一个googleimagesdom,但当使用Chrome的开发工具检查时,它不再包含任何imgsrc链接。它现在在视觉上与Google Images当前的外观非常不同
就在几个月前,这项工作做得还不错,但现在回到这项工作,有些东西坏了,可能是因为谷歌方面发生了一些变化
我对编码还很陌生,因此任何修复/评论/备选方案都能让这项功能再次发挥作用。您应该查看谷歌定制搜索API。我认为它现在可以访问照片结果。谢谢你的建议,但据我所知,图像结果还不受支持。我找不到在,否则包含了其他谷歌服务的大量信息。请原谅我的无知,但我如何使用自定义搜索API查询谷歌图像?有很多信息解释了如何对你自己的网站进行自定义搜索,但没有解释如何连接到谷歌。com注意,仅仅因为它在互联网上并不意味着你可以使用它。