當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 編程語言 » php讀取網頁

php讀取網頁-九游会j9娱乐平台

發布時間: 2024-11-17 13:29:30

php的curl庫簡單和有效地抓網頁


使用php的curl庫可以簡單和有效地去抓網頁。你只需要運行一個腳本,然後分析一下你所抓取的網頁,然後就可以以程序的方式得到你想要的數據了。無論是你想從從一個鏈接上取部分數據,或是取一個xml文件並把其導入資料庫,那怕就是簡單的獲取網頁內容,curl 是一個功能強大的php庫。本文主要講述如果使用這個php庫。
啟用 curl 設置
首先,我們得先要確定我們的php是否開啟了這個庫,你可以通過使用php_info()函數來得到這一信息。
?php
phpinfo();
?
如果你可以在網頁上看到下面的輸出,那麼表示curl庫已被開啟。
如果你看到的話,那麼你需要設置你的php並開啟這個庫。如果你是在windows平台下,那麼非常簡單,你需要改一改你的php.ini文件的設置,找到php_curl.dll,並取消前面的分號注釋就行了。如下所示:
//取消下在的注釋
extension=php_curl.dll
如果你是在linux下面,那麼,你需要重新編譯你的php了,編輯時,你需要打開編譯參數——在configure命令上加上「_with-curl」 參數。
一個小示例
如果一切就緒,下面是一個小常式:
?php
// 初始化一個 curl 對象
$curl = curl_init();
// 設置你需要抓取的url
curl_setopt($curl, curlopt_url, '');
// 設置header
curl_setopt($curl, curlopt_header, 1);
// 設置curl 參數,要求結果保存到字元串中還是輸出到屏幕上。
curl_setopt($curl, curlopt_returntransfer, 1);
// 運行curl,請求網頁
$data = curl_exec($curl);
// 關閉url請求
curl_close($curl);
// 顯示獲得的數據
var_mp($data);
?
如何post數據
上面是抓取網頁的代碼,下面則是向某個網頁post數據。假設我們有一個處理表單的網址,其可以接受兩個表單域,一個是電話號碼,一個是簡訊內容。
?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, '');
curl_setopt($ch, curlopt_header, 1);
curl_setopt($ch, curlopt_returntransfer, 1);
curl_setopt($ch, curlopt_post, 1);
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, '');
curl_setopt($ch, curlopt_header, 1);
curl_setopt($ch, curlopt_returntransfer, 1);
curl_setopt($ch, curlopt_httpproxytunnel, 1);
curl_setopt($ch, curlopt_proxy, ':1080');
curl_setopt($ch, curlopt_proxyuserpwd, 'user:password');
$data = curl_exec();curl_close($ch);
?
關於ssl和cookie
關於ssl也就是https協議,你只需要把curlopt_url連接中的
關於cookie,你需要了解下面三個參數:
curlopt_cookie,在當面的會話中設置一個cookie
curlopt_cookiejar,當會話結束的時候保存一個cookie
curlopt_cookiefile,cookie的文件。
http伺服器認證
最後,我們來看一看http伺服器認證的情況。
?php
$ch = curl_init();
curl_setopt($ch, curlopt_url, '');
curl_setopt($ch, curlopt_returntransfer, 1);
curl_setopt($ch, curlopt_httpauth, curlauth_basic);
curl_setopt(curlopt_userpwd, '[username]:[password]')
$data = curl_exec();
curl_close($ch);
?
關於其它更多的內容,請參看相關的curl手冊。

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

可以參考以下幾種方法:

方法一: file_get_contents獲取

$url="http://www..com/";

$fh= file_get_contents

('http://www.hxfzzx.com/news/fzfj/');echo $fh;

拓展資料

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

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

❸ php中怎樣發送post請求並獲取網頁

$post='post數據';
//初始化
$curl=curl_init('url');
$header=array();
$header[]='user-agent:mozilla/5.0(windowsnt6.1)applewebkit/537.36(khtml,likegecko)chrome/42.0.2311.90safari/537.36';
curl_setopt($curl,curlopt_httpheader,$header);
//不輸出header頭信息
curl_setopt($curl,curlopt_header,0);
//保存到字元串而不是輸出
curl_setopt($curl,curlopt_returntransfer,1);
//post數據
curl_setopt($curl,curlopt_post,1);
//請求數據
curl_setopt($curl,curlopt_postfields,$post);
//是否抓取跳轉後的頁面
curl_setopt($curl,curlopt_followlocation,1);
$response=curl_exec($curl);
curl_close($curl);
echo$response;
熱點內容
vb資料庫數組 發布:2024-11-19 09:23:40 瀏覽:827
安卓游戲數據保存在哪裡找 發布:2024-11-19 09:22:02 瀏覽:309
解壓出來的文件亂碼 發布:2024-11-19 09:15:40 瀏覽:939
北航ftp是多少 發布:2024-11-19 09:15:32 瀏覽:821
瀏覽保存密碼如何取消 發布:2024-11-19 09:10:17 瀏覽:89
安卓怎麼關簡訊重復提醒 發布:2024-11-19 09:02:00 瀏覽:635
html與php的區別 發布:2024-11-19 09:00:53 瀏覽:193
晚安密碼多少 發布:2024-11-19 09:00:51 瀏覽:945
易語言腳本模塊 發布:2024-11-19 09:00:44 瀏覽:484
經典矩陣c語言 發布:2024-11-19 08:56:23 瀏覽:268
网站地图