求一段用php获得google.com.hk搜索结果页的代码 本帖最后由 yonghuminghaonan 于 2011-07-12 17:03:23 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?phpheader("Content-Type: text/html;charset=utf-8");//由于请求的搜索信息google会进行处理,所以需添加搜索内容处理过程//$str = urlencode("这里是你所要搜索的内容");$str = urlencode("csdn论坛");$url = "http://www.google.com.hk/search?hl=zh-CN&source=hp&q=".$str."&btnG=Google+%E6%90%9C%E7%B4%A2&meta=lr%3Dlang_zh-CN&aq=f&aqi=&aql=&oq=&gs_rfai=";//不知道楼主cookie是放在哪里,我暂且放在这里,需要修改时请楼主自行修改$cookie_file = dirname(__FILE__)."/temp/testSearch.txt";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);$contents = curl_exec($ch);curl_close($ch);//$contents即为获取的页面所有搜索信息,这里只是输出而已//楼主要想获取里面详细内容正则表达式就可以解决,若还有什么疑问,也可以问我,很乐意和楼主讨论echo $contents ;?> 这个是写好并刚刚测试过的代码,我这里是没有问题的,不知道要求是否符合楼主的意思,我使用curl模拟抓取网页信息的。 首先多谢你的回复,curl也想过,但是考虑到有些虚拟主机可能不支持,我还专门上googlecode上搜了一个纯php的curl实现方法,却不支持cookie。要是有纯php能模拟真实客户端的代码就好了,只要cookie和重定向就足够了... 关注,偶也遇到这问题了,某人跟我说不用curl也可以完成这个功能,不知道怎么做的,期待答案 实用PHP网页抓取前些日子跟别的公司合作了一个短信投票业务,对方需要把用户上行发送到我们平台,我这需要receive他的数据,然后他需要每发送一个数据我这边判断正确的话就输出一个内容让其抓取。之前只做过接收数据并处理,至于抓取没做过。在网上找了好多关于相关的文档。不过感觉都挺麻烦,最后就直接删除了很多功能代码,不过可以完成自己需要的功能了!我说下我做的几个简单步骤: 1.可以新建一个test页面,如test.php<html><head> <title>PHP 网页抓取测试</title></head><body ><?php echo '<p>Hello World!</p>'; ?></body></html> 2.新建抓取页面,如zhuaqu.php,代码如下:<html><head><title>实用抓取网页内容测试 </title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body ><?php$url = 'http://localhost/test.php'; //测试本地网页#$url = 'http://www.myenjoylife.cn/index.php'; //抓取www.myenjoylife.cn首页内容$lines_array = file($url); $lines_string = implode('', $lines_array); eregi("(.*)", $lines_string, $head); echo $head[0]; ?></body></html> 3. 完成,就这么简单,如果你想抓取别的网页内容,只要改$url参数变量值,像抓取http://www.myenjoylife.cn的内容改成这个网址就OK啦! php输出数据方式为同时显示2条数据的代码问题求助~! php的正则表达式在UTF-8下中文匹配问题 求高手写一段asp或php的301重定向语句 正则求助!麻烦正则下! JS学习的问题 人家拼命要session永不失效,我却嫌它太长,怎么修改~~~~ 今天抢注一个超强域名,心情好,送分啦! 怎样避免smarty解释css代码错误 关于setcookie()与header()的问题 ★★★★分页技术★★★★ 提取指定关键词的超链接地址 求dreamweaver中一个简单的PHP插件的使用方法
header("Content-Type: text/html;charset=utf-8");
//由于请求的搜索信息google会进行处理,所以需添加搜索内容处理过程
//$str = urlencode("这里是你所要搜索的内容");
$str = urlencode("csdn论坛");
$url = "http://www.google.com.hk/search?hl=zh-CN&source=hp&q=".$str."&btnG=Google+%E6%90%9C%E7%B4%A2&meta=lr%3Dlang_zh-CN&aq=f&aqi=&aql=&oq=&gs_rfai=";
//不知道楼主cookie是放在哪里,我暂且放在这里,需要修改时请楼主自行修改
$cookie_file = dirname(__FILE__)."/temp/testSearch.txt";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
$contents = curl_exec($ch);
curl_close($ch);
//$contents即为获取的页面所有搜索信息,这里只是输出而已
//楼主要想获取里面详细内容正则表达式就可以解决,若还有什么疑问,也可以问我,很乐意和楼主讨论
echo $contents ;
?> 这个是写好并刚刚测试过的代码,我这里是没有问题的,不知道要求是否符合楼主的意思,我使用curl模拟抓取网页信息的。
首先多谢你的回复,
curl也想过,但是考虑到有些虚拟主机可能不支持,
我还专门上googlecode上搜了一个纯php的curl实现方法,却不支持cookie。
要是有纯php能模拟真实客户端的代码就好了,只要cookie和重定向就足够了...
我说下我做的几个简单步骤:
1.可以新建一个test页面,如test.php<html>
<head>
<title>PHP 网页抓取测试</title>
</head>
<body >
<?php echo '<p>Hello World!</p>'; ?>
</body>
</html>
2.新建抓取页面,如zhuaqu.php,代码如下:<html>
<head>
<title>实用抓取网页内容测试 </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body >
<?php
$url = 'http://localhost/test.php'; //测试本地网页
#$url = 'http://www.myenjoylife.cn/index.php'; //抓取www.myenjoylife.cn首页内容
$lines_array = file($url);
$lines_string = implode('', $lines_array);
eregi("(.*)", $lines_string, $head);
echo $head[0];
?>
</body>
</html> 3. 完成,就这么简单,如果你想抓取别的网页内容,只要改$url参数变量值,像抓取http://www.myenjoylife.cn的内容改成这个网址就OK啦!