真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

抓取頁(yè)面數(shù)據(jù)php php登錄網(wǎng)站抓取內(nèi)容

php怎么抓取其它網(wǎng)站數(shù)據(jù)

可冊(cè)念以用以下4個(gè)方法來(lái)抓取網(wǎng)站 的數(shù)據(jù):

為承德等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及承德網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站建設(shè)、承德網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

1. 用 file_get_contents 以 get 方式獲取內(nèi)容:

?

$url = '';

$html = file_get_contents($url);

echo $html;

2. 用fopen打開(kāi)url,以get方式獲取內(nèi)州局困容

?

$url = '';

$fp = fopen($url, 'r');

stream_get_meta_data($fp);

$result = '';

while(!feof($fp))

{

$result .= fgets($fp, 1024);

}

echo "url body: $result";

fclose($fp);

3. 用file_get_contents函數(shù),以post方式獲取url

?

$data = array(

'foo'='bar',

'baz'='boom',

'site'='',

'name'='nowa magic');

$data = http_build_query($data);

//$postdata = http_build_query($data);

$options = array(

'http' = array(

'method' = 'POST',

'header' = 'Content-type:application/x-www-form-urlencoded',

'content' = $data

//'timeout' = 60 * 60 // 超時(shí)時(shí)間(單位臘模:s)

)

);

$url = "";

$context = stream_context_create($options);

$result = file_get_contents($url, false, $context);

echo $result;

4、使用curl庫(kù),使用curl庫(kù)之前,可能需要查看一下php.ini是否已經(jīng)打開(kāi)了curl擴(kuò)展

$url = '';

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, $url);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

php抓取頁(yè)面內(nèi)容

?php

$rs=file_get_contents('');

preg_match('/table?width="600"?border="0"?cellpadding="5"?cellspacing="1"?bgcolor="#EAEAEA"(.*?)\/table/sS',$rs,$match);

//?print_r($match);

$rs?=?str_replace(array('沒(méi)螞/tr','/td','tr?align="center"','td?bgcolor="#FFFFFF"'),array('|',';'),$match[1]);

//?

$data?=?array();

$rs?=?explode('|',$rs);

foreach($rs?as?$key=$item){

if($key0){

$arr?=?explode(';',$item);

($a?=?@trim($arr[0]))?枯沖埋?($b?=?@trim($arr[5]))??判前$data[]?=?array($a,$b);

}

}

print_r($data);

?

使用PHP的cURL庫(kù)進(jìn)行網(wǎng)頁(yè)抓取

使用模明仿PHP的cURL庫(kù)可以簡(jiǎn)單和有效地去抓網(wǎng)頁(yè) 你只需要運(yùn)行一個(gè)腳本 然后分析一下你所抓取的網(wǎng)頁(yè) 然后就可以以程序的方式得到你想要的數(shù)據(jù)了 無(wú)論是你想從從一個(gè)鏈接上取部分?jǐn)?shù)據(jù) 或是取一個(gè)XML文件并把其導(dǎo)入數(shù)據(jù)庫(kù) 那怕就是簡(jiǎn)單的獲取網(wǎng)頁(yè)內(nèi)容 cURL 是一個(gè)功能強(qiáng)大的PHP庫(kù) 本文主要講述如果使用這個(gè)PHP庫(kù)

啟用 cURL 設(shè)置

首先 我們得先要確定我們的PHP是否開(kāi)啟了這個(gè)庫(kù) 你可以通過(guò)使用php_info()函數(shù)來(lái)得到這一信息

﹤?phpphpinfo();?﹥

如果你可以在網(wǎng)頁(yè)上看到下面的輸出 那么表示cURL庫(kù)已被開(kāi)啟

如果你看到的話 那么你需要設(shè)置你的PHP并開(kāi)啟這個(gè)庫(kù) 如果你是在Windows平臺(tái)下 那么非常簡(jiǎn)單 你需要改一改你的php ini文件的設(shè)置 找到php_curl dll 并取消前面的分號(hào)注釋就行了 如下所示

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

如果你旦纖是在Linux下面 那么 你需要重新編譯你的PHP了 編輯時(shí) 你需要打開(kāi)編譯參數(shù)——在configure命令上加上 –with curl 參數(shù)

一個(gè)小示例

如果一切就緒 下面是一個(gè)小例程

﹤?php// 初始化一個(gè) cURL 對(duì)象$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 );

// 運(yùn)行cURL 請(qǐng)求網(wǎng)頁(yè)$data = curl_exec($curl);

// 關(guān)閉URL請(qǐng)求curl_close($curl);

// 顯示獲得的數(shù)據(jù)var_dump($data);

如何POST數(shù)據(jù)

上面是抓取網(wǎng)頁(yè)的代碼 下面則是向某個(gè)網(wǎng)頁(yè)P(yáng)OST數(shù)據(jù) 假設(shè)我們有一個(gè)處理表單的網(wǎng)址// example /sendSMS php 其可以接受兩個(gè)表單域 一個(gè)是電話號(hào)碼 一個(gè)是短信內(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ù)器

下面是一個(gè)如何使用代理服務(wù)器的示例 請(qǐng)注意其中高亮的代碼 代碼很簡(jiǎn)單 我就不用多說(shuō)了

﹤?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連接中的//變成//就可以了 當(dāng)然 還有一個(gè)參數(shù)叫CURLOPT_SSL_VERIFYHOST可以設(shè)置為驗(yàn)證站點(diǎn)

關(guān)于Cookie 你需要了解下面三個(gè)參數(shù)

CURLOPT_COOKIE 在當(dāng)面的會(huì)話中設(shè)置一個(gè)cookie

CURLOPT_COOKIEJAR 當(dāng)會(huì)話結(jié)束的時(shí)候保存一個(gè)Cookie

CURLOPT_COOKIEFILE Cookie的文件

HTTP服務(wù)器認(rèn)證

最后 我們來(lái)看一看HTTP服務(wù)器認(rèn)證的情況

﹤?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)容 請(qǐng)參看相關(guān)的cURL手冊(cè) lishixinzhi/Article/program/PHP/201311/21491


文章標(biāo)題:抓取頁(yè)面數(shù)據(jù)php php登錄網(wǎng)站抓取內(nèi)容
本文來(lái)源:http://weahome.cn/article/ddpdsop.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部