300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > PHP抓取百度搜索结果页面的【相关搜索词】并存储

PHP抓取百度搜索结果页面的【相关搜索词】并存储

时间:2020-11-03 00:17:30

相关推荐

PHP抓取百度搜索结果页面的【相关搜索词】并存储

一、百度搜索关键词【知了壳公司转让】

【知了壳公司转让】搜索链接

/s?wd=%E7%9F%A5%E4%BA%86%E5%A3%B3%E5%85%AC%E5%8F%B8%E8%BD%AC%E8%AE%A9

**搜索结果部分源代码**<div id="rs"><div class="tt">相关搜索</div><table cellpadding="0"><tbody><tr><th><a href="/s?wd=%E5%85%AC%E5%8F%B8%E8%BD%AC%E8%AE%A9%E6%B5%81%E7%A8%8B%E7%9F%A5%E4%BA%86%E5%A3%B3&amp;rsp=0&amp;f=1&amp;oq=%E7%9F%A5%E4%BA%86%E5%A3%B3%E5%85%AC%E5%8F%B8%E8%BD%AC%E8%AE%A9&amp;tn=baiduhome_pg&amp;ie=utf-8&amp;rsv_idx=2&amp;rsv_pq=88c7804a0000c417&amp;rsv_t=b5f3JkJIsj6Nkp61K%2BmmVGeev7UP95o1HSJTUoIS2xV4SsmZxvOoVf%2BAZaVoihB%2BT3bg&amp;rqlang=cn&amp;rsv_ers=xn0&amp;rs_src=0&amp;rsv_pq=88c7804a0000c417&amp;rsv_t=b5f3JkJIsj6Nkp61K%2BmmVGeev7UP95o1HSJTUoIS2xV4SsmZxvOoVf%2BAZaVoihB%2BT3bg">公司转让流程知了壳</a></th>..........<th><a href="/s?wd=%E7%9F%A5%E4%BA%86%E5%A3%B3%E5%85%AC%E5%8F%B8%E6%B3%A8%E5%86%8C&amp;rsp=8&amp;f=1&amp;oq=%E7%9F%A5%E4%BA%86%E5%A3%B3%E5%85%AC%E5%8F%B8%E8%BD%AC%E8%AE%A9&amp;tn=baiduhome_pg&amp;ie=utf-8&amp;rsv_idx=2&amp;rsv_pq=88c7804a0000c417&amp;rsv_t=b5f3JkJIsj6Nkp61K%2BmmVGeev7UP95o1HSJTUoIS2xV4SsmZxvOoVf%2BAZaVoihB%2BT3bg&amp;rqlang=cn&amp;rsv_ers=xn0&amp;rs_src=0&amp;rsv_pq=88c7804a0000c417&amp;rsv_t=b5f3JkJIsj6Nkp61K%2BmmVGeev7UP95o1HSJTUoIS2xV4SsmZxvOoVf%2BAZaVoihB%2BT3bg">知了壳公司注册</a></th></tr></tbody></table></div>

二、抓取并保存本地

源代码

index.php------------<form action="index.php" method="post"><input name="q" type="text" /><input type="submit" value="Get Keywords" /></form><?phpheader('Content-Type:text/html;charset=gbk');class ComBaike{private $o_String=NULL;public function __construct(){include('cls.StringEx.php');$this->o_String=new StringEx();}public function getItem($word){$url = "/s?wd=".$word;// 构造包头,模拟浏览器请求$header = array ("Host:","Content-Type:application/x-www-form-urlencoded",//post请求"Connection: keep-alive",'Referer:','User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; BIDUBrowser 2.6)');$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_HTTPHEADER, $header );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );$content = curl_exec ( $ch );if ($content == FALSE) {echo "error:" . curl_error ( $ch );}curl_close ( $ch );//输出结果echo $content;$this->o_String->string=$content;$s_begin='<div id="rs">';$s_end='</div>';$summary=$this->o_String->getPart($s_begin,$s_end);$s_begin='<div class="tt">相关搜索</div><table cellpadding="0"><tr><th>';$s_end='</th></tr></table></div>';$content=$this->o_String->getPart($s_begin,$s_end);return $content;}public function __destruct(){unset($this->o_String); }}if($_POST){$com = new ComBaike();$q = $_POST['q'];$str = $com->getItem($q); //获取搜索内容$pat = '/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';preg_match_all($pat, $str, $m); //print_r($m[4]); 链接文字$con = implode(",", $m[4]);//生成文件夹$dates = date("Ymd");$path="./Search/".$dates."/";if(!is_dir($path)){mkdir($path,0777,true); }//生成文件$file = fopen($path.iconv("UTF-8","GBK",$q).".txt",'w');if(fwrite($file,$con)){echo $con;echo '<script>alert("success")</script>';}else{echo '<script>alert("error")</script>';}fclose($file);}?>cls.StringEx.php-------------<?phpheader('Content-Type: text/html; charset=UTF-8');class StringEx{public $string='';public function __construct($string=''){$this->string=$string;}public function pregGetPart($s_begin,$s_end){$s_begin==preg_quote($s_begin);$s_begin=str_replace('/','\/',$s_begin);$s_end=preg_quote($s_end);$s_end=str_replace('/','\/',$s_end);$pattern='/'.$s_begin.'(.*?)'.$s_end.'/';$result=preg_match($pattern,$this->string,$a_match);if(!$result){return $result;}else{return isset($a_match[1])?$a_match[1]:'';}}public function strstrGetPart($s_begin,$s_end){$string=strstr($this->string,$s_begin);$string=strstr($string,$s_end,true);$string=str_replace($s_begin,'',$string);$string=str_replace($s_end,'',$string);return $string;}public function getPart($s_begin,$s_end){$result=$this->pregGetPart($s_begin,$s_end);if(!$result){$result=$this->strstrGetPart($s_begin,$s_end);}return $result;}}?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。