方法1、最常見的方法是:$_POST['fieldname'];

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、察布查爾錫伯網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為察布查爾錫伯等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
說明:只能接收Content-Type:
application/x-www-form-urlencoded提交的數(shù)據(jù)
解釋:也就是表單POST過來的數(shù)據(jù)
方法2、file_get_contents("php://input");
說明:
允許讀取
POST
的
原始數(shù)據(jù)
。
和
$HTTP_RAW_POST_DATA
比起來,它給內(nèi)存帶來的壓力較小,并且不需要任何特殊的
php.ini
設(shè)置。
php://input
不能用于
enctype="multipart/form-data"。
解釋:
對(duì)于未指定
Content-Type
的POST數(shù)據(jù),則可以使用file_get_contents(“php://input”);來獲取原始數(shù)據(jù)。
事實(shí)上,用PHP接收POST的任何數(shù)據(jù)都可以使用本方法。而不用考慮Content-Type,包括
二進(jìn)制文件
流也可以。
所以用方法二是最保險(xiǎn)的方法
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產(chǎn)生
$HTTP_RAW_POST_DATA
變量包含有原始的
POST
數(shù)據(jù)。
此變量?jī)H在碰到未識(shí)別
MIME
類型的數(shù)據(jù)時(shí)產(chǎn)生。
$HTTP_RAW_POST_DATA
對(duì)于
enctype="multipart/form-data"
表單數(shù)據(jù)不可用
如果post過來的數(shù)據(jù)不是PHP能夠識(shí)別的,可以用
$GLOBALS['HTTP_RAW_POST_DATA']來接收,
比如
text/xml
或者
soap
等等
解釋:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過來的原始數(shù)據(jù)。
$_POST或
$_REQUEST
存放的是
PHP以key=value的形式格式化以后的數(shù)據(jù)。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST過來的數(shù)據(jù)取決于centent-Type的設(shè)置,即POST數(shù)據(jù)時(shí)
必須顯式示指明Content-Type:
application/x-www-form-urlencoded,POST的數(shù)據(jù)才會(huì)存放到
$GLOBALS['HTTP_RAW_POST_DATA']中
問題其實(shí)不難,自己都能寫。給你幾個(gè)思路吧:
1.在百度知道中,輸入linux,然后會(huì)出現(xiàn)列表。復(fù)制瀏覽器地址欄內(nèi)容。
然后翻頁,在復(fù)制地址欄內(nèi)容,看看有什么不同,不同之處,就是你要循環(huán)分頁的i值。
當(dāng)然這個(gè)是笨方法。
2.使用php的file或者file_get_contents函數(shù),獲取鏈接URL的內(nèi)容。
3.通過php正則表達(dá)式,獲取你需要的3個(gè)字段內(nèi)容。
4.寫入數(shù)據(jù)庫。
需要注意的是,百度知道有可能做了防抓取的功能,你剛一抓幾個(gè)頁面,可能會(huì)被禁止。
建議也就抓10頁數(shù)據(jù)。
其實(shí)不難,你肯定寫的出來。 還有,網(wǎng)上應(yīng)該有很多抓取工具,你找找看,然后將抓下來的數(shù)據(jù)
在做分析。寫入數(shù)據(jù)庫。
簡(jiǎn)單的分了幾個(gè)步驟:
1、確定采集目標(biāo)
2、獲取目標(biāo)遠(yuǎn)程頁面內(nèi)容(curl、file_get_contents)
3、分析頁面html源碼,正則匹配你需要的內(nèi)容(preg_match、preg_match_all),這一步最為重要,不同頁面正則匹配規(guī)則不一樣
4、入庫
簡(jiǎn)單的有個(gè)file_get_content函數(shù),然后寫正則規(guī)則匹配內(nèi)容,存數(shù)據(jù)庫。
如果需要登陸的,用curl,還有可以用PHP的DOM庫替換正則表達(dá)式
Python和Java等都有beautifulsoup這個(gè)第三方庫,用來采集非常棒
一般來說,PHP采集數(shù)據(jù)最簡(jiǎn)單的辦法是使用file_get_content函數(shù),功能更強(qiáng)大的推薦使用cURL函數(shù)庫。
用fopen/file/file_get_contents/curl之類的函數(shù)將遠(yuǎn)程頁面獲得內(nèi)容, 采用正則或過濾之類的獲得自己所需要的東西, 最好寫入相應(yīng)的數(shù)據(jù)庫保存起來。
網(wǎng)站欄目:php的數(shù)據(jù)采集方式有,php自動(dòng)采集如何實(shí)現(xiàn)
本文URL:http://chinadenli.net/article47/dsgojej.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、外貿(mào)建站、企業(yè)建站、做網(wǎng)站、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)