本文目錄一覽:
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獲取,然後再用正則判斷即可獲取
原創文章,作者:K48WM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/127948.html