php車型數(shù)據(jù)采集,php采集網(wǎng)頁(yè)數(shù)據(jù)

PHP 數(shù)據(jù)采集 太慢

一頁(yè)一頁(yè)采啊,你要是想把N個(gè)網(wǎng)頁(yè)一下子采下來(lái),在瀏覽器中肯定不行,你可以用php.exe在命令行下運(yùn)行你的采集腳本。如果你想在瀏覽器上采,你得一次采集一個(gè)頁(yè)面,然后用window.location.href轉(zhuǎn)向,把下一個(gè)要采集的地址傳過(guò)去,這樣一頁(yè)一頁(yè)的循環(huán)來(lái)采集。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),寶雞企業(yè)網(wǎng)站建設(shè),寶雞品牌網(wǎng)站建設(shè),網(wǎng)站定制,寶雞網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,寶雞網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

php程序員對(duì)數(shù)據(jù)采集的要求掌握程度如何?

php數(shù)據(jù)采集常見技術(shù)要領(lǐng):

1、熟練正則表達(dá)式提取數(shù)據(jù)技術(shù):提取內(nèi)容關(guān)鍵步驟

2、熟練字符編碼轉(zhuǎn)換分析技術(shù):兼容性管理以及數(shù)據(jù)有效性控制

3、熟練數(shù)據(jù)出庫(kù)入庫(kù)整理技術(shù):對(duì)已采集內(nèi)容的存儲(chǔ)管理,包括數(shù)據(jù)庫(kù)以及文件和進(jìn)度

4、發(fā)掘數(shù)據(jù)以及網(wǎng)站爬行技術(shù):分析網(wǎng)站結(jié)構(gòu),簡(jiǎn)化爬行手法,提高效率

5、反反采集處理技術(shù):對(duì)于存在反采集的目標(biāo)對(duì)象而設(shè)計(jì)的反反采集技術(shù)

6、多服務(wù)器并發(fā)采集管理技術(shù):提高效率的工作方法

7、數(shù)據(jù)整理分析技術(shù):查漏驗(yàn)證數(shù)據(jù)正確性有效性

8、自我身份保護(hù)技術(shù):自身信息的保護(hù)

php采集大數(shù)據(jù)的方案

1、建議你讀寫數(shù)據(jù)和下載圖片分開,各用不同的進(jìn)程完成。

比如說(shuō),取數(shù)據(jù)用get-data.php,下載圖片用get-image.php。

2、多進(jìn)程的話,php可以簡(jiǎn)單的用pcntl_fork()。這樣可以并發(fā)多個(gè)子進(jìn)程。

但是我不建議你用fork,我建議你安裝一個(gè)gearman worker。這樣你要并發(fā)幾個(gè),就啟幾個(gè)worker,寫代碼簡(jiǎn)單,根本不用在代碼里考慮thread啊,process等等。

3、綜上,解決方案這樣:

(1)安裝gearman worker。

(2)寫一個(gè)get-data.php,在crontab里設(shè)置它每5分鐘執(zhí)行一次,只負(fù)責(zé)讀數(shù)據(jù),然后把讀回來(lái)的數(shù)據(jù)一條一條的扔到 gearman worker的隊(duì)列里;

然后再寫一個(gè)處理數(shù)據(jù)的腳本作為worker,例如叫process-data.php,這個(gè)腳本常駐內(nèi)存。它作為worker從geraman 隊(duì)列里讀出一條一條的數(shù)據(jù),然后跟你的數(shù)據(jù)庫(kù)老數(shù)據(jù)比較,進(jìn)行你的業(yè)務(wù)邏輯。如果你要10個(gè)并發(fā),那就啟動(dòng)10個(gè)process-data.php好了。處理完后,如果圖片地址有變動(dòng)需要下載圖片,就把圖片地址扔到 gearman worker的另一個(gè)隊(duì)列里。

(3)再寫一個(gè)download-data.php,作為下載圖片的worker,同樣,你啟動(dòng)10個(gè)20個(gè)并發(fā)隨便你。這個(gè)進(jìn)程也常駐內(nèi)存運(yùn)行,從gearman worker的圖片數(shù)據(jù)隊(duì)列里取數(shù)據(jù)出來(lái),下載圖片

4、常駐進(jìn)程的話,就是在代碼里寫個(gè)while(true)死循環(huán),讓它一直運(yùn)行好了。如果怕內(nèi)存泄露啥的,你可以每循環(huán)10萬(wàn)次退出一下。然后在crontab里設(shè)置,每分鐘檢查一下進(jìn)程有沒(méi)有啟動(dòng),比如說(shuō)這樣啟動(dòng)3個(gè)process-data worker進(jìn)程:

* * * * * flock -xn /tmp/process-data.1.lock -c '/usr/bin/php /process-data.php /dev/null 21'

* * * * * flock -xn /tmp/process-data.2.lock -c '/usr/bin/php /process-data.php /dev/null 21'

* * * * * flock -xn /tmp/process-data.3.lock -c '/usr/bin/php /process-data.php /dev/null 21'

不知道你明白了沒(méi)有

php采集數(shù)據(jù)怎么做啊?

用fopen/file/file_get_contents/curl之類的函數(shù)將遠(yuǎn)程頁(yè)面獲得內(nèi)容, 采用正則或過(guò)濾之類的獲得自己所需要的東西, 最好寫入相應(yīng)的數(shù)據(jù)庫(kù)保存起來(lái)。

PHP數(shù)據(jù)采集問(wèn)題(相對(duì)地址轉(zhuǎn)絕對(duì)地址)

其實(shí)用不著這么麻煩的,采集時(shí),你看到的圖片路徑是相對(duì)地址,是相對(duì)當(dāng)前域名的一個(gè)相對(duì)路徑而已,你只要在前面加上

http://當(dāng)前域名(采集內(nèi)容的域名,比如zhidao.baidu.com)/

就是它的絕對(duì)地址了,

就像/abc.jpg一樣

http://當(dāng)前域名(采集內(nèi)容的域名,比如zhidao.baidu.com)/abc.jpg就是絕對(duì)地址了

沒(méi)必要搞復(fù)雜

怎么用php采集網(wǎng)站數(shù)據(jù)

簡(jiǎn)單的分了幾個(gè)步驟:

1、確定采集目標(biāo)

2、獲取目標(biāo)遠(yuǎn)程頁(yè)面內(nèi)容(curl、file_get_contents)

3、分析頁(yè)面html源碼,正則匹配你需要的內(nèi)容(preg_match、preg_match_all),這一步最為重要,不同頁(yè)面正則匹配規(guī)則不一樣

4、入庫(kù)

網(wǎng)站欄目:php車型數(shù)據(jù)采集,php采集網(wǎng)頁(yè)數(shù)據(jù)
標(biāo)題網(wǎng)址:http://muchs.cn/article24/phgdje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)、域名注冊(cè)定制開發(fā)

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)