PHP的cURL庫簡單和有效地抓網(wǎng)頁
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
使用PHP的cURL庫可以簡單和有效地去抓網(wǎng)頁。你只需要運行一個腳本,然后分析一下你所抓取的網(wǎng)頁,然后就可以以程序的方式得到你想要的數(shù)據(jù)了。無論是你想從從一個鏈接上取部分?jǐn)?shù)據(jù),或是取一個XML文件并把其導(dǎo)入數(shù)據(jù)庫,那怕就是簡單的獲取網(wǎng)頁內(nèi)容,cURL 是一個功能強大的PHP庫。本文主要講述如果使用這個PHP庫。 啟用 cURL 設(shè)置 首先,我們得先要確定我們的PHP是否開啟了這個庫,你可以通過使用php_info()函數(shù)來得到這一信息。 <?php 如果你可以在網(wǎng)頁上看到下面的輸出,那么表示cURL庫已被開啟。 如果你看到的話,那么你需要設(shè)置你的PHP并開啟這個庫。如果你是在Windows平臺下,那么非常簡單,你需要改一改你的php.ini文件的設(shè)置,找到php_curl.dll,并取消前面的分號注釋就行了。如下所示: //取消下在的注釋 如果你是在Linux下面,那么,你需要重新編譯你的PHP了,編輯時,你需要打開編譯參數(shù)——在configure命令上加上“–with-curl” 參數(shù)。 一個小示例 如果一切就緒,下面是一個小例程: <?php // 設(shè)置你需要抓取的URL // 設(shè)置header // 設(shè)置cURL 參數(shù),要求結(jié)果保存到字符串中還是輸出到屏幕上。 // 運行cURL,請求網(wǎng)頁 // 關(guān)閉URL請求 // 顯示獲得的數(shù)據(jù) 如何POST數(shù)據(jù) 上面是抓取網(wǎng)頁的代碼,下面則是向某個網(wǎng)頁POST數(shù)據(jù)。假設(shè)我們有一個處理表單的網(wǎng)址http://www.example.com/sendSMS.php,其可以接受兩個表單域,一個是電話號碼,一個是短信內(nèi)容。 <?php 從上面的程序我們可以看到,使用CURLOPT_POST設(shè)置HTTP協(xié)議的POST方法,而不是GET方法,然后以CURLOPT_POSTFIELDS設(shè)置POST的數(shù)據(jù)。 關(guān)于代理服務(wù)器 下面是一個如何使用代理服務(wù)器的示例。請注意其中高亮的代碼,代碼很簡單,我就不用多說了。 <?php 關(guān)于SSL和Cookie 關(guān)于SSL也就是HTTPS協(xié)議,你只需要把CURLOPT_URL連接中的http://變成https://就可以了。當(dāng)然,還有一個參數(shù)叫CURLOPT_SSL_VERIFYHOST可以設(shè)置為驗證站點。 關(guān)于Cookie,你需要了解下面三個參數(shù): CURLOPT_COOKIE,在當(dāng)面的會話中設(shè)置一個cookie CURLOPT_COOKIEJAR,當(dāng)會話結(jié)束的時候保存一個Cookie CURLOPT_COOKIEFILE,Cookie的文件。 HTTP服務(wù)器認(rèn)證 最后,我們來看一看HTTP服務(wù)器認(rèn)證的情況。 <?php $data = curl_exec(); 關(guān)于其它更多的內(nèi)容,請參看相關(guān)的cURL手冊。 該文章在 2012/4/26 9:53:06 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |