只能爬一個頁面php
<?php function get_urls($url){ $url_array=array(); $the_first_content=file_get_contents($url); $the_second_content=file_get_contents($url); $pattern1 = "/http:\/\/[a-zA-Z0-9\.\?\/\-\=\&\:\+\-\_\'\"]+/"; $pattern2="/http:\/\/[a-zA-Z0-9\.]+/"; preg_match_all($pattern2, $the_second_content, $matches2); preg_match_all($pattern1, $the_first_content, $matches1); $new_array1=array_unique($matches1[0]); $new_array2=array_unique($matches2[0]); $final_array=array_merge($new_array1,$new_array2); $final_array=array_unique($final_array); for($i=0;$i<count($final_array);$i++) { echo $final_array[$i]."<br/>"; } } get_urls("http://www.yinghy.com"); ?>
<?php $string = GetHtmlCode("http://www.yinghy.com"); echo $string; function GetHtmlCode($url){ $ch = curl_init();//初始化一個cur對象 curl_setopt ($ch, CURLOPT_URL, $url);//設置須要抓取的網頁 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);//設置crul參數,要求結果保存到字符串中仍是輸出到屏幕上 curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,1000);//設置連接延遲 $HtmlCode = curl_exec($ch);//運行curl,請求網頁 return $HtmlCode; } function GetAllLink($string) { $string = str_replace("\r","",$string); $string = str_replace("\n","",$string); $regex[url] = "((http|https|ftp|telnet|news):\/\/)?([a-z0-9_\-\/\.]+\.[][a-z0-9:;&#@=_~%\?\/\.\,\+\-]+)"; $regex[email] = "([a-z0-9_\-]+)@([a-z0-9_\-]+\.[a-z0-9\-\._\-]+)"; //去掉網頁中的[] $string = eregi_replace("\[|\]","",$string); //去掉JAVASCRIPT代碼 $string = eregi_replace("<!--.*//-->","", $string); //去掉非<a>的HTML標籤 $string = eregi_replace("</?[^aA][^<>]*>","",$string); //分割$string中的全部連接 $output = split('</a>', $string); for($i=0; $i<count($output); $i++){ $output_1 = split("<a", $output[$i]); } return $output_1; } function GetUserCareNews ($test,$keywords,$url) { $messTxt = ""; $k=0; $key = explode(";",$keywords); //自動爲網站加載上http,避免網易郵箱連接錯誤,有必定的侷限性 if(!ereg("http",$url)){ $url = "http://".$url; } for($i=0; $i<count($test); $i++){ $test[$i] = eval('return'.iconv('gbk','utf-8',var_export($test[$i],true)).';');//修改編碼 if(ereg("href", $test[$i]) && !ereg("href='#'",$test[$i])){//去掉無效連接 for($j=0; $j<count($key); $j++){ //支持多關鍵字 if(strpos($test[$i],$key[$j])!==false){ $mess[$k++]=ereg_replace($key[$j],"<font color=red>".$key[$j]."</font>", $test[$i]);//高亮關鍵字 } } } } $mess = array_unique($mess); //數組去重 //處理好發送連接,爲連接加上網站根目錄 for($l=0; $l<count($mess); $l++){ if(!ereg("http",$mess[$l]) && (strlen($mess[$l]) != 0)){//去掉空數組,這步很重要,若是不去掉直接影響後面連接的質量 $mess[$l] = eregi_replace("href=[\"']","",$mess[$l]); $mess[$l] = $url.$mess[$l]; $mess[$l] = eregi_replace(" /","/",$mess[$l]); if(ereg("'",$mess[$l])){ $mess[$l]="<a href='".$mess[$l]."</a>"; } if(ereg("\"",$mess[$l])){ $mess[$l] = "<a href=\"".$mess[$l]."</a>"; } } else{ $mess[$l] = "<a ".$mess[$l]."</a>"; } $messTxt .= $mess[$l]; $messTxt .= "<BR>"; } return $messTxt; } function SendEmail($to, $content) { //Author:luofei //$to 表示收件人地址,$content表示郵件正文內容 error_reporting(E_STRICT); //錯誤報告 date_default_timezone_set("Asia/Shanghai"); //設定時區 require_once("class.phpmailer.php"); require_once("class.smtp.php"); $mail = new PHPMailer(); //新建一個對象 $mail->CharSet = "UTF-8"; //設置編碼,中文不會出現亂碼的狀況 $mail->IsSMTP(); //設定使用SMTP服務 $mail->SMTPDebug = 1; //啓用SMTP調試功能i //1 = errors and messages //2 = messages only $mail->SMTPSecure = "tls"; //安全協議 $mail->Host = "smtp.googlemail.com"; //SMTP服務器 $mail->SMTPAuth = true; //啓用SMTP驗證功能 $mail->Username = "username@gmail.com"; //SMTP服務器用戶名 $mail->Password = "******"; //SMTP服務器用戶密碼 $mail->From = "username@gmail.com"; //發件人 $mail->FromName = "Spider Service"; //發件人姓名(郵件上顯示) $mail->AddAddress($to); //收件人地址 $mail->WordWrap = 50; //設置郵件正文每行的字符數 $mail->IsHTML(true); //設置郵件正文內容是否爲html類型 $mail->Subject = "來自spider.html的郵件"; //郵件主題 $mail->Body = "<p>您好!<BR> <p>這是您感興趣的內容</p> <BR>".$content." "; //郵件正文 if(!$mail->Send()) //郵件發送報告 { echo "發送郵件錯誤!"; } else { echo "郵件發送成功!"; } } ?>