比如有一個網(wǎng)址為
創(chuàng)新互聯(lián)公司是一家專注于做網(wǎng)站、成都網(wǎng)站制作與策劃設(shè)計,新巴爾虎右網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:新巴爾虎右等地區(qū)。新巴爾虎右做網(wǎng)站價格咨詢:13518219792
http://域名/goods.php?u=59id=24#pinglun
我想得到這個id值
可以用正則,也可以用php函數(shù)解析到數(shù)組中
用正則可以這樣
preg_match('/id=(\d+)/',$_SERVER["REQUEST_URI"],$m);//$_SERVER 這個表示當(dāng)前網(wǎng)址url
print_r($m[1]);exit;
或者用parse_url()及parse_str()函數(shù)
$cur_q=parse_url($_SERVER["REQUEST_URI"],PHP_URL_QUERY);
parse_str($cur_q,$myArray);
print_r($myArray["id"]);exit;
拓展資料
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預(yù)處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運行,使代碼運行更快。
PHP的特性包括:
1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。
2. PHP可以比CGI或者Perl更快速的執(zhí)行動態(tài)網(wǎng)頁——動態(tài)頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標(biāo)記的CGI要高許多;
PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實現(xiàn)。
3. PHP支持幾乎所有流行的數(shù)據(jù)庫以及操作系統(tǒng)。
4. 最重要的是PHP可以用C、C++進(jìn)行程序的擴(kuò)展!
參考資料:百度百科 PHP
PHP是后臺代碼,一般來說你是獲取不了的,因為最后呈現(xiàn)給用戶的php網(wǎng)頁,都經(jīng)過php解釋器進(jìn)行轉(zhuǎn)換成html代碼了。
$url = "網(wǎng)站地址目錄";
$queryServer = curl_init();
curl_setopt($queryServer, CURLOPT_URL, $url);
curl_setopt($queryServer, CURLOPT_HEADER, 0);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($queryServer, CURLOPT_RETURNTRANSFER, true);
curl_setopt($queryServer, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($queryServer, CURLOPT_TIMEOUT, 30);
$html = curl_exec($queryServer);
$html = iconv('UTF-8','GBK//IGNORE',$html); //如果你需要是的數(shù)據(jù)是utf-8編碼的,這一行可以注銷,如果需要gbk編碼的,請保留.如果出現(xiàn)亂碼,就是一行的問題,你自己調(diào)著試吧
//echo $holder;exit; 此處可以輸出來測試.
$html = str_replace(array("\n","\r","\t"),"",$html);
$preg = '/table\s+width=\"800\"[^]+(.*?)\/table/';
preg_match_all($preg,$html,$out);
//匹配每行
preg_match_all('/tr[^]+(.*?)\/tr/',$out[1][0],$tr);
//匹配每個td
$result = array();
$match = '/td.+([^]+)\/td/U';
foreach( $tr[0] as $key = $value ){
preg_match_all($match,$value,$arr);
$result[] = $arr[1];
}
//輸出測試,$result就是你要的數(shù)據(jù),至于你要怎么輸出顯示格式,那就隨心調(diào)就好了。
foreach( $result as $key = $value ){
echo implode("\t",$value);
echo "br";
}
exit;
簡單的分了幾個步驟:
1、確定采集目標(biāo)
2、獲取目標(biāo)遠(yuǎn)程頁面內(nèi)容(curl、file_get_contents)
3、分析頁面html源碼,正則匹配你需要的內(nèi)容(preg_match、preg_match_all),這一步最為重要,不同頁面正則匹配規(guī)則不一樣
4、入庫
參考如下
get_meta_tags -- 從一個文件中提取所有的 meta 標(biāo)簽 content 屬性,返回一個數(shù)組
描述
array get_meta_tags ( string filename [, int use_include_path])
打開 filename 逐行解析文件中的 meta 標(biāo)簽。此參數(shù)可以是本地文件也可以是一個 URL。解析工作將在 /head 處停止。
將 use_include_path 設(shè)置為 1 將促使 PHP 嘗試按照 include_path 標(biāo)準(zhǔn)包含路徑中的每個指向去打開文件。這只用于本地文件,不適用于 URL。
下面實例分析了php中g(shù)et_meta_tags()、CURL與user-agent用法。具體分析如下:
get_meta_tags()函數(shù)用于抓取網(wǎng)頁中meta name="A" content="1"meta name="B" content="2"形式的標(biāo)簽,并裝入一維數(shù)組,name為元素下標(biāo),content為元素值,上例中的標(biāo)簽可以獲得數(shù)組:array('A'='1', 'b'='2'),其他meta標(biāo)簽不處理,并且此函數(shù)只處理到/head標(biāo)簽時截止,之后的meta也不再繼續(xù)處理,不過head之前的meta還是會處理.
user-agent是瀏覽器在向服務(wù)器請求網(wǎng)頁時,提交的不可見的頭信息的一部分,頭信息是一個數(shù)組,包含多個信息,比如本地緩存目錄,cookies等,其中user-agent是瀏覽器類型申明,比如IE、Chrome、FF等.
今天在抓取一個網(wǎng)頁的meta標(biāo)簽的時候,總是得到空值,但是直接查看網(wǎng)頁源代碼又是正常的,于是懷疑是否服務(wù)器設(shè)置了根據(jù)頭信息來判斷輸出,先嘗試使用get_meta_tags()來抓取一個本地的文件,然后這個本地文件將獲取的頭信息寫入文件,結(jié)果如下,其中替換成了/,方便查看,代碼如下:
代碼如下:
array (
'HTTP_HOST' = '192.168.30.205',
'PATH' = 'C:/Program Files/Common Files/NetSarang;C:/Program Files/NVIDIA Corporation/PhysX/Common;C:/Program Files/Common Files/Microsoft Shared/Windows Live;C:/Program Files/Intel/iCLS Client/;C:/Windows/system32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/Program Files/Intel/Intel(R) Management Engine Components/DAL;C:/Program Files/Intel/Intel(R) Management Engine Components/IPT;C:/Program Files/Intel/OpenCL SDK/2.0/bin/x86;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/QuickTime Alternative/QTSystem;C:/Program Files/Windows Live/Shared;C:/Program Files/QuickTime Alternative/QTSystem/; %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;',
'SystemRoot' = 'C:/Windows',
'COMSPEC' = 'C:/Windows/system32/cmd.exe',
'PATHEXT' = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',
'WINDIR' = 'C:/Windows',
'SERVER_SIGNATURE' = '',
'SERVER_SOFTWARE' = 'Apache/2.2.11 (Win32) PHP/5.2.8',
'SERVER_NAME' = '192.168.30.205',
'SERVER_ADDR' = '192.168.30.205',
'SERVER_PORT' = '80',
'REMOTE_ADDR' = '192.168.30.205',
'DOCUMENT_ROOT' = 'E:/wamp/www',
'SERVER_ADMIN' = 'admin@admin.com',
'SCRIPT_FILENAME' = 'E:/wamp/www/user-agent.php',
'REMOTE_PORT' = '59479',
'GATEWAY_INTERFACE' = 'CGI/1.1',
'SERVER_PROTOCOL' = 'HTTP/1.0',
'REQUEST_METHOD' = 'GET',
'QUERY_STRING' = '',
'REQUEST_URI' = '/user-agent.php',
'SCRIPT_NAME' = '/user-agent.php',
'PHP_SELF' = '/user-agent.php',
'REQUEST_TIME' = 1400747529,
)
網(wǎng)站名稱:php獲取網(wǎng)站元數(shù)據(jù) php抓取網(wǎng)頁數(shù)據(jù)
文章源于:http://redsoil1982.com.cn/article12/hjpdgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、ChatGPT、網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)