?php
目前成都創(chuàng)新互聯(lián)公司已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、濰坊網(wǎng)站維護等服務(wù),公司將堅持客戶導向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
//設(shè)置連晌讓猛接
$DBserver
=
"localhost";
$DBname
=
"數(shù)據(jù)庫";
$DBuser
=
"賬號";
$DBpassword
=
"密碼";
$con
=
mysql_connect("localhost","賬號","密碼滑禪");
mysql_select_db("數(shù)據(jù)庫");
$contents
=
file_get_contents($url);
//$contents就是網(wǎng)頁內(nèi)容,$url就是鏈接
$contents
=
mysql_real_escape_string($contents);
//轉(zhuǎn)義,不用可以不宴橋要
$SQL="
INSERT
INTO
數(shù)據(jù)庫表(數(shù)據(jù)字段)
VALUES('{$contents}')";
mysql_query($SQL)
or
die(mysql_error());
?
用PHP自帶函數(shù)就可以實現(xiàn),首先要過去對方的網(wǎng)頁信息,用
file_get_contents();參數(shù)是對方的URL地址,這個函數(shù)返回是一個字符串你想要的東西就在這個字符串中了
接下來就可以針對這個睜亂亮字符串做處理了,說下思路,正如你這個問題想獲取到航班號起飛時間,在這個網(wǎng)頁中應(yīng)該有很多相同的陪拍標簽元素,它們都有共同點,用
用正則表達式preg_match();或者是
preg_match_all();這兩個函數(shù)它們都返回一個數(shù)組,這個數(shù)組存的就是你要的悉寬航班號和起飛時間,那么相同信息的數(shù)組就會出現(xiàn)了,然后在對這個數(shù)組進行分析找到你要的某個值或全部的值
獲取信息要用到的3個函數(shù)是:
file_get_contents();
preg_match();
preg_match_all();
使用模明仿PHP的cURL庫可以簡單和有效地去抓網(wǎng)頁 你只需要運行一個腳本 然后分析一下你所抓取的網(wǎng)頁 然后就可以以程序的方式得到你想要的數(shù)據(jù)了 無論是你想從從一個鏈接上取部分數(shù)據(jù) 或是取一個XML文件并把其導入數(shù)據(jù)庫 那怕就是簡單的獲取網(wǎng)頁內(nèi)容 cURL 是一個功能強大的PHP庫 本文主要講述如果使用這個PHP庫
啟用 cURL 設(shè)置
首先 我們得先要確定我們的PHP是否開啟了這個庫 你可以通過使用php_info()函數(shù)來得到這一信息
﹤?phpphpinfo();?﹥
如果你可以在網(wǎng)頁上看到下面的輸出 那么表示cURL庫已被開啟
如果你看到的話 那么你需要設(shè)置你的PHP并開啟這個庫 如果你是在Windows平臺下 那么非常簡單 你需要改一改你的php ini文件的設(shè)置 找到php_curl dll 并取消前面的分號注釋就行了 如下所示
//取消下在的注釋extension=php_curl dll
如果你旦纖是在Linux下面 那么 你需要重新編譯你的PHP了 編輯時 你需要打開編譯參數(shù)——在configure命令上加上 –with curl 參數(shù)
一個小示例
如果一切就緒 下面是一個小例程
﹤?php// 初始化一個 cURL 對象$curl = curl_init();
// 設(shè)置你需要抓取的URLcurl_setopt($curl CURLOPT_URL //cocre );
// 設(shè)置headercurl_setopt($curl CURLOPT_HEADER );
// 設(shè)置cURL 參數(shù) 要求結(jié)果保存到字符串中還是輸出到屏幕上槐鏈 curl_setopt($curl CURLOPT_RETURNTRANSFER );
// 運行cURL 請求網(wǎng)頁$data = curl_exec($curl);
// 關(guān)閉URL請求curl_close($curl);
// 顯示獲得的數(shù)據(jù)var_dump($data);
如何POST數(shù)據(jù)
上面是抓取網(wǎng)頁的代碼 下面則是向某個網(wǎng)頁POST數(shù)據(jù) 假設(shè)我們有一個處理表單的網(wǎng)址// example /sendSMS php 其可以接受兩個表單域 一個是電話號碼 一個是短信內(nèi)容
﹤?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設(shè)置HTTP協(xié)議的POST方法 而不是GET方法 然后以CURLOPT_POSTFIELDS設(shè)置POST的數(shù)據(jù)
關(guān)于代理服務(wù)器
下面是一個如何使用代理服務(wù)器的示例 請注意其中高亮的代碼 代碼很簡單 我就不用多說了
﹤?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);?﹥ 關(guān)于SSL和Cookie
關(guān)于SSL也就是HTTPS協(xié)議 你只需要把CURLOPT_URL連接中的//變成//就可以了 當然 還有一個參數(shù)叫CURLOPT_SSL_VERIFYHOST可以設(shè)置為驗證站點
關(guān)于Cookie 你需要了解下面三個參數(shù)
CURLOPT_COOKIE 在當面的會話中設(shè)置一個cookie
CURLOPT_COOKIEJAR 當會話結(jié)束的時候保存一個Cookie
CURLOPT_COOKIEFILE Cookie的文件
HTTP服務(wù)器認證
最后 我們來看一看HTTP服務(wù)器認證的情況
﹤?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);?﹥
關(guān)于其它更多的內(nèi)容 請參看相關(guān)的cURL手冊 lishixinzhi/Article/program/PHP/201311/21491
文章名稱:php在線采集網(wǎng)頁數(shù)據(jù)庫 php 采集
地址分享:http://jinyejixie.com/article42/ddpephc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、云服務(wù)器、網(wǎng)站維護、全網(wǎng)營銷推廣、定制開發(fā)、App設(shè)計
聲明:本網(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)