當前位置:首頁 » 編程語言 » php抓取鏈接

php抓取鏈接

發布時間: 2025-03-04 11:59:11

『壹』 php如何獲取網址中的參數

比如有一個網址為

http://域名/goods.php?u=59&id=24#pinglun

我想得到這個id值

可以用正則,也可以用php函數解析到數組中

用正則可以這樣

preg_match('/id=(d+)/',$_SERVER["REQUEST_URI"],$m);//$_SERVER 這個表示當前網址url

print_r($m[1]);exit;

或者用parse_url()及parse_str()函數

$cur_q=parse_url($_SERVER["REQUEST_URI"],PHP_URL_QUERY);

parse_str($cur_q,$myArray);

print_r($myArray["id"]);exit;

拓展資料

PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

PHP的特性包括:

1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。

2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,

PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;

PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。

3. PHP支持幾乎所有流行的資料庫以及操作系統。

4. 最重要的是PHP可以用C、C++進行程序的擴展!

參考資料:網路 PHP

『貳』 PHP如何遍歷指定文件夾,獲取所有文件列表並生成下載鏈接

試編寫代碼如下:

<?php

$dir="D:/WWW/ftp";//指定的路徑
$sitepath='http://localhost/ftp/';
//遍歷文件夾下所有文件
if(false!=($handle=opendir($dir))){
echo"$dir目錄下的文件列表:<BR/>";
$i=0;
while(false!==($file=readdir($handle))){
if($file!="."&&$file!=".."&&!is_dir($dir.'/'.$file)){
echo'<ahref="'.$sitepath.$file.'">'.$file.'</a><br/>';
}
}
//關閉句柄
closedir($handle);
}

?>


代碼中需要提示的是:


如果是運行於互聯網上,需要考慮文件的訪問安全性。


運行截圖:


『叄』 如何用PHP抓取此鏈接的動態視頻地址

看你是什麼視頻,
如果是一些視頻網站像優酷土豆之類的,把滑鼠放到正在播放的視頻上,就會在右邊滑出分享菜單,根據你的需求復制相應格式的視頻地址代碼就行。
如果是一些小網站上自己上傳在主機空間的小視頻,你可以用IE打開,在確定你的電腦中裝了迅雷的情況下,把滑鼠放到視頻上,就會有迅雷的下載提示,點擊下載,然後在確認對話框中,你會看到一個視頻的地址,復制它就可以。
另外一個辦法就是在頁面空白的地址點擊右鍵,查看頁面源代碼,然後在代碼中找到<embed>這一對標簽,然後這對標簽里的src="",在src後面的一對引號是的地址就是視頻地址,你可以復制到瀏覽器來打開試試。

『肆』 使用PHP的cURL庫進行網頁抓取

使用模明仿PHP的cURL庫可以簡單和有效地去抓網頁 你只需要運行一個腳本 然後分析一下你所抓取的網頁 然後就可以以程序的方式得到你想要的數據了 無論是你想從從一個鏈接上取部分數據 或是取一個XML文件並把其導入資料庫 那怕就是簡單的獲取網頁內容 cURL 是一個功能強大的PHP庫 本文主要講述如果使用這個PHP庫

啟用 cURL 設置

首先 我們得先要確定我們的PHP是否開啟了這個庫 你可以通過使用php_info()函數來得到這一信息

﹤?phpphpinfo();?﹥

如果你可以在網頁上看到下面的輸出 那麼表示cURL庫已被開啟

如果你看到的話 那麼你需要設置你的PHP並開啟這個庫 如果你是在Windows平台下 那麼非常簡單 你需要改一改你的php ini文件的設置 找到php_curl dll 並取消前面的分號注釋就行了 如下所示

//取消下在的注釋extension=php_curl dll

如果你旦纖是在Linux下面 那麼 你需要重新編譯你的PHP了 編輯時 你需要打開編譯參數——在configure命令上加上 –with curl 參數

一個小示例

如果一切就緒 下面是一個小常式

﹤?php// 初始化一個 cURL 對象$curl = curl_init();

// 設置你需要抓取的URLcurl_setopt($curl CURLOPT_URL //cocre );

// 設置headercurl_setopt($curl CURLOPT_HEADER );

// 設置cURL 參數 要求結果保存到字元串中還是輸出到屏幕上槐鏈 curl_setopt($curl CURLOPT_RETURNTRANSFER );

// 運行cURL 請求網頁$data = curl_exec($curl);

// 關閉URL請求curl_close($curl);

// 顯示獲得的數據var_mp($data);

如何POST數據

上面是抓取網頁的代碼 下面則是向某個網頁POST數據 假設我們有一個處理表單的網址// example /sendSMS php 其可以接受兩個表單域 一個是電話號碼 一個是簡訊內容

﹤?php$phoneNumber = ;$message = This message was generated by curl and php ;$curlPost = pNUMBER= urlencode($phoneNumber) &MESSAGE= urlencode($message) &SUBMIT=Send ;$ch = curl_init();curl_setopt($ch CURLOPT_URL // example /sendSMS php );curl_setopt($ch CURLOPT_HEADER );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_POST );curl_setopt($ch CURLOPT_POSTFIELDS $curlPost);$data = curl_exec();curl_close($ch);?﹥

從上面的程序我們可以看到 使用CURLOPT_POST設置HTTP協議的POST方法 而不是GET方法 然後以CURLOPT_POSTFIELDS設置POST的數據

關於代理伺服器

下面是一個如何使用代理伺服器的示例 請注意其中高亮的代碼 代碼很簡單 我就不用多說了

﹤?php $ch = curl_init();curl_setopt($ch CURLOPT_URL // example );curl_setopt($ch CURLOPT_HEADER );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_HTTPPROXYTUNNEL );curl_setopt($ch CURLOPT_PROXY fakeproxy : );curl_setopt($ch CURLOPT_PROXYUSERPWD user:password );$data = curl_exec();curl_close($ch);?﹥ 關於SSL和Cookie

關於SSL也就是HTTPS協議 你只需要把CURLOPT_URL連接中的//變成//就可以了 當然 還有一個參數叫CURLOPT_SSL_VERIFYHOST可以設置為驗證站點

關於Cookie 你需要了解下面三個參數

CURLOPT_COOKIE 在當面的會話中設置一個cookie

CURLOPT_COOKIEJAR 當會話結束的時候保存一個Cookie

CURLOPT_COOKIEFILE Cookie的文件

HTTP伺服器認證

最後 我們來看一看HTTP伺服器認證的情況

﹤?php $ch = curl_init();curl_setopt($ch CURLOPT_URL // example );curl_setopt($ch CURLOPT_RETURNTRANSFER );curl_setopt($ch CURLOPT_HTTPAUTH CURLAUTH_BASIC);curl_setopt(CURLOPT_USERPWD [username]:[password] )

$data = curl_exec();curl_close($ch);?﹥

關於其它更多的內容 請參看相關的cURL手冊 lishixin/Article/program/PHP/201311/21491

『伍』 萬能採集網站php源碼

php獲取網頁源碼內容有哪些辦法

可以參考以下幾種方法:

方法一:file_get_contents獲取

spanstyle="white-space:pre"?/span$url="";

spanstyle="white-space:pre"?/span$fh=file_get_contents

('');spanstyle="white-space:pre"?/spanecho$fh;

方法二:使用fopen獲取網頁源代碼

spanstyle="white-space:pre"?/span$url="";

spanstyle="white-space:pre"?/span$handle=fopen($url,"rb");

spanstyle="white-space:pre"?/span$contents="";

spanstyle="white-space:pre"?/spanwhile(!feof($handle)){

spanstyle="white-space:pre"??/span$contents.=fread($handle,8192);

spanstyle="white-space:pre"?/span}

spanstyle="white-space:pre"?/spanfclose($handle);

spanstyle="white-space:pre"?/spanecho$contents;//輸出獲取到得內容。

方法三:使用CURL獲取網頁源代碼

$url="";

$UserAgent='Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0;SLCC1;.NETCLR2.0.50727;.NETCLR3.0.04506;.NETCLR3.5.21022;.NETCLR1.0.3705;.NETCLR1.1.4322)'

$curl=curl_init();?//創建一個新的CURL資源

curl_setopt($curl,CURLOPT_URL,$url);?//設置URL和相應的選項

curl_setopt($curl,CURLOPT_HEADER,0);?//0表示不輸出Header,1表示輸出

curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);?//設定是否顯示頭信息,1顯示,0不顯示。//如果成功只將結果返回,不自動輸出任何內容。如果失敗返回FALSE

curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);

curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);

curl_setopt($curl,CURLOPT_ENCODING,'');?//設置編碼格式,為空表示支持所有格式的編碼

//header中「Accept-Encoding:」部分的內容,支持的編碼格式為:"identity","deflate","gzip"。

curl_setopt($curl,CURLOPT_USERAGENT,$UserAgent);

curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);

//設置這個選項為一個非零值(象「Location:「)的頭,伺服器會把它當做HTTP頭的一部分發送(注意這是遞歸的,PHP將發送形如「Location:「的頭)。

$data=curl_exec($curl);

echo$data;

//echocurl_errno($curl);//返回0時表示程序執行成功

curl_close($curl);?//關閉cURL資源,並釋放系統資源

拓展資料

PHP(外文名:PHP:HypertextPreprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。

用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

熱點內容
c語言int和double 發布:2025-03-04 15:38:04 瀏覽:443
手游編程入門 發布:2025-03-04 15:30:55 瀏覽:899
android進程被殺 發布:2025-03-04 15:30:52 瀏覽:394
火車的無線密碼都是什麼 發布:2025-03-04 15:08:42 瀏覽:455
存單鎖住後如何重置密碼 發布:2025-03-04 15:08:17 瀏覽:569
sqlintchar 發布:2025-03-04 14:55:21 瀏覽:483
切水泥解壓 發布:2025-03-04 14:41:55 瀏覽:501
多大可以學編程 發布:2025-03-04 14:41:19 瀏覽:193
安卓怎麼刪掉谷歌 發布:2025-03-04 14:41:13 瀏覽:844
金山源碼 發布:2025-03-04 14:28:27 瀏覽:463