本文目录一览:
PHP如何引入百度地图或谷歌地图,在目标位置定位
这得需要在百度地图中注册,然后获取密钥,然后使用插件进行显示
如何 用php抓取google关键词排名
1.说下思路,利用PHP的curl函数储存cookie,google搜索页面是无法用file_get_connents打开的,必须要完全模拟浏览器才行,百度就不同了,直接用file_get_conntens抓取页面,然后用正则处理下就行了。
2.[code]?php
header("Content-Type:text/html;charset=utf-8");
functionggsearch($url_s,$keyword,$page=1){
$enKeyword=urlencode($keyword);
$rsState=false;
$page_num=($page-1)*10;
if($page=10){
$interface="eth0:".rand(1,4);//避免GG封IP
$cookie_file=dirname(__FILE__)."/temp/google.txt";//存储cookie值
$url=";hl=enprmd=imvnsei=JPnJTvLFI8HlggeXwbRlstart=$page_numsa=N";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
//curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);//获取浏览器类型
curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0(Windows;U;WindowsNT6.1;en-US;rv:1.9.1.2)Gecko/20090729Firefox/3.5.2GTB5");
curl_setopt($ch,CURLOPT_INTERFACE,"$interface");//指定访问IP地址
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);
$match="!div\s*id=\"search\"(.*)/div\s+\!--z--!";
preg_match_all("$match","$contents",$line);
while(list($k,$v)=each($line[0])){
preg_match_all("!h3\s+class=\"r\"a[^]+(.*?)/a!",$v,$title);
$num=count($title[1]);
for($i=0;$i$num;$i++){
if(strstr($title[0][$i],$url_s)){
$rsState=true;
$j=$i+1;
$sum=$j+(($page)*10-10);
//echo$contents;
echo"关键字".$keyword."br"."排名:".'fontcolor="red"size="20"style=""'.$sum.'/font'."####"."第".'fontcolor="#00FFFF"size="18"style=""'.$page.'/font'."页"."第".'fontcolor="#8000FF"size="15"style=""'.$j.'/font'."名".$title[0][$i]."br";
echo"ahref='".$url."'"."点击搜索结果"."/a"."br";
echo"hr";
break;
}
}
}
unset($contents);
if($rsState===false){
ggsearch($url_s,$keyword,++$page);//找不到搜索页面的继续往下搜索
}
}else{
echo'关键字'.$keyword.'10页之内没有该网站排名'.'br';
echo"hr";
}
}
if(!empty($_POST['submit'])){
$time=explode('',microtime());
$start=$time[0]+$time[1];
$more_key=trim($_POST['textarea']);
$url_s=trim($_POST['url']);
if(!empty($more_key)!empty($url_s)){
/*判断输入字符的规律*/
if(strstr($more_key,"\n")){
$exkey=explode("\n",$more_key);
}
if(strstr($more_key,"|")){
$exkey=explode("|",$more_key);
}
if(!strstr($more_key,"\n")!strstr($more_key,"|")){
$exkey=array($more_key);
}
/*判断是否有www或者http://之类的东西*/
if(count(explode('.',$url_s))=2){
$url=ltrim($url_s,'');
$url='www.'.$url_s;
}
foreach($exkeyas$keyword){
//$keyword;
ggsearch($url_s,$keyword);
}
$endtime=explode('',microtime());
$end=$endtime[0]+$endtime[1];
echo'hr';
echo'程序运行时间:';
echo$end-$start;
//die();
}
}
?
!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"""
htmlxmlns=""
head
title抓取排名/title
/head
body
formaction=""method="post"
span关键字:/spantextareaname="textarea"rows="20"cols="40"wrap="off"
格式例如:keyword1|keyword2|keyword3
或者:keyword1
keyword2
keyword3
/textarea
spanurl地址:/spaninputtype="text"name="url"
inputtype="submit"name="submit"value="搜索"
/form
/body
用PHP自动登录到google网站的帐户
可以,下载一个HTTP请求分析器,打开监视以后,你登录google帐户,看一下HTTP数据流是什么样子。然后用PHP程序开一个socket通道到google的web登录服务器,模仿你分析到的http数据,直接往通道里写数据即可。
当然可能有更简单的办法,你看一下登录页面的源代码,试试直接将用户名和密码往表单里写的地址提交一下能不能成功,如果能成功直接用PHP往那提交用户名和密码就可以了。
顺便说一下google的登录好像要通过ssl安全通道,用PHP怎么使用那ssl你自己再看看吧
php怎么爬取google查询 结果
先访问网页,使用curl或者file_get_contents获取,然后再用正则判断即可获取