PHP-Google图像抓取器

PHP-Google图像抓取器,php,regex,Php,Regex,基本上,我需要这个,这样我就可以抓取一个快速简单的720p分辨率的图像,无论我搜索什么。它可以是页面上的任何图像,但为了相关性,最好抓取并保存第一个图像 我当前的代码: <?php $q = urlencode($_GET['q']); $page = file_get_contents("https://www.google.com/search?site=imghp&tbm=isch&source=hp&biw=1920&bih=945&q=$q

基本上,我需要这个,这样我就可以抓取一个快速简单的720p分辨率的图像,无论我搜索什么。它可以是页面上的任何图像,但为了相关性,最好抓取并保存第一个图像

我当前的代码:

<?php
$q = urlencode($_GET['q']);
$page = file_get_contents("https://www.google.com/search?site=imghp&tbm=isch&source=hp&biw=1920&bih=945&q=$q");
preg_match_all('~url?q=(.*)~', $page, $matches);
foreach ($matches as $val) {
    echo "matched: " . $val[0] . "\n";
    echo "part 1: " . $val[1] . "\n";
    echo "part 2: " . $val[2] . "\n";
    echo "part 3: " . $val[3] . "\n";
    echo "part 4: " . $val[4] . "\n\n";
}
?>

不知道为什么它不起作用,也许我的正则表达式是关闭的或者什么的,但是只有(*),因为正则表达式甚至不会输出一个字母

重要: 这似乎是我用文件内容获取的输出:
http://gravityfalls.wikia.com/wiki/Gravity_Falls_(电视剧)&sa=U&ei=7U6SVd\U tOMa2oQShrajgDg&ved=0CBYQ9QEwAA&usg=afqjcnftgggjagtit0q3291xaqhjol8nmia“>嗯,Thx家伙们帮了我一个忙:D

我自己找到的…-- 我想这是件好事吧

<?php
    $q = urlencode($_GET['q']);

    $url="https://www.google.com/search?site=imghp&tbm=isch&source=hp&biw=1920&bih=945&q=".$q;

    $ch2 = curl_init();
    curl_setopt ($ch2, CURLOPT_URL, $url);
    curl_setopt ($ch2, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt ($ch2, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31"); 
    curl_setopt ($ch2, CURLOPT_TIMEOUT, 60);
    curl_setopt ($ch2, CURLOPT_SSL_VERIFYHOST, false); 
    curl_setopt ($ch2, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt ($ch2, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch2, CURLOPT_REFERER, $url);
    $result = curl_exec ($ch2);
    curl_close($ch2);

    $expA=explode('href="http://www.google.com/imgres?imgurl=',$result);
    $expB=explode('&',$expA[1]);
    $auth=$expB[0];
    echo $auth;
?>
这是很有用的,因为某些URL最终会使jpg后的文本使jpg文件不加载e.t.c。例如,此页面:

http://vignette4.wikia.nocookie.net/gravityfalls/images/1/16/Main_characters_of_Gravity_Falls.png/revision/latest%253Fcb%253D20140821174543

你想解析URL的查询字符串吗?你应该使用DOM来收集链接,然后
parse_str
来获取你需要的值。不,我希望它只是一个很小的旧脚本,你感觉到了吗?基本上我只是做了(*)作为正则表达式,它向我显示了?thing=URL im tryna get is/URL?q=*URL is Here*>我尝试了~URL?q=(*)~as regex但它不起作用我做错了什么?你应该提供你得到的输入文本样本,并指定你想要在什么上下文中获得什么文本。否则,我们可以像vks已经做过的那样推测。让我也试试:。谷歌上的图像是64base编码的…,获取它们需要更多一些。是的,这根本没有帮助:/Jus没有一件事是最重要的,我怎样才能让它在结果.jps、.png、.gif之后基本上搜索并删除任何东西?
http://vignette4.wikia.nocookie.net/gravityfalls/images/1/16/Main_characters_of_Gravity_Falls.png/revision/latest%253Fcb%253D20140821174543