這個(gè)需要配合js,打開(kāi)一個(gè)html頁(yè)面,首先js用ajax請(qǐng)求頁(yè)面,返回第一個(gè)頁(yè)面信息確定處理完畢(ajax有強(qiáng)制同步功能),ajax再訪問(wèn)第二個(gè)頁(yè)面。(或者根據(jù)服務(wù)器狀況,你可以同時(shí)提交幾個(gè)URL,跑幾個(gè)相同的頁(yè)面)
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、冷水江ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的冷水江網(wǎng)站制作公司
參數(shù)可以由js產(chǎn)生并傳遞url,php后臺(tái)頁(yè)面根據(jù)URL抓頁(yè)面。然后ajax通過(guò)php,在數(shù)據(jù)庫(kù)或者是哪里設(shè)一個(gè)標(biāo)量,標(biāo)明檢測(cè)到哪里。由于前臺(tái)的html頁(yè)面執(zhí)行多少時(shí)候都沒(méi)問(wèn)題,這樣php的內(nèi)存限制和執(zhí)行時(shí)間限制就解決了。
因?yàn)椴粫?huì)浪費(fèi)大量的資源用一個(gè)頁(yè)面來(lái)跑一個(gè)瞬間500次的for循環(huán)了。(你的500次for循環(huán)死了原因可能是獲取的數(shù)據(jù)太多,大過(guò)了php限制的內(nèi)存)
不過(guò)印象中curl好像也有強(qiáng)制同步的選項(xiàng),就是等待一個(gè)抓取后再執(zhí)行下一步。但是這個(gè)500次都是用一個(gè)頁(yè)面線(xiàn)程處理,也就是說(shuō)肯定會(huì)遠(yuǎn)遠(yuǎn)大于30秒的默認(rèn)執(zhí)行時(shí)間。
其實(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ù)雜
一般來(lái)說(shuō),PHP采集數(shù)據(jù)最簡(jiǎn)單的辦法是使用file_get_content函數(shù),功能更強(qiáng)大的推薦使用cURL函數(shù)庫(kù)。