問題其實(shí)不難,自己都能寫。給你幾個(gè)思路吧:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了魏縣免費(fèi)建站歡迎大家使用!
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ù)庫。
電影網(wǎng)站程序:
下載地址:
...................................
同時(shí)附送:創(chuàng)佳PHP電影采集程序
此程序?yàn)椴杉绦?可直接在服務(wù)器上生成HTM頁,訪問速度快,并較少受目標(biāo)站的影響。
功能簡介如下:
1.有可以自由編輯的模板,在目錄admin下的mb1.htm、mb1.htm、mb1.htm是模板網(wǎng)頁,可以自行修改。
2.有"強(qiáng)制更新采集"、"批量自動(dòng)采集"、"自動(dòng)調(diào)用采集"等三種采集方式,更多詳情參見admin/index.htm說明。
3.初次使用時(shí),請先運(yùn)行admin/auto.php,生成所有的靜態(tài)網(wǎng)頁。
4.本更新程序不設(shè)密碼,如不希望游客更新,請將admin目錄改名(注意:不能移動(dòng)到別的目錄)
5.本采集程序需PHP和ZEND環(huán)境(因一般的主機(jī)裝了PHP就會(huì)安裝ZEND的)即可,無須數(shù)據(jù)庫支持。
創(chuàng)建一個(gè)新cURL資源
設(shè)置URL和相應(yīng)的選項(xiàng)
抓取URL并把它傳遞給瀏覽器
關(guān)閉cURL資源,并且釋放系統(tǒng)資源
代碼案例:
這個(gè)需要配合js,打開一個(gè)html頁面,首先js用ajax請求頁面,返回第一個(gè)頁面信息確定處理完畢(ajax有強(qiáng)制同步功能),ajax再訪問第二個(gè)頁面。(或者根據(jù)服務(wù)器狀況,你可以同時(shí)提交幾個(gè)URL,跑幾個(gè)相同的頁面)
參數(shù)可以由js產(chǎn)生并傳遞url,php后臺頁面根據(jù)URL抓頁面。然后ajax通過php,在數(shù)據(jù)庫或者是哪里設(shè)一個(gè)標(biāo)量,標(biāo)明檢測到哪里。由于前臺的html頁面執(zhí)行多少時(shí)候都沒問題,這樣php的內(nèi)存限制和執(zhí)行時(shí)間限制就解決了。
因?yàn)椴粫?huì)浪費(fèi)大量的資源用一個(gè)頁面來跑一個(gè)瞬間500次的for循環(huán)了。(你的500次for循環(huán)死了原因可能是獲取的數(shù)據(jù)太多,大過了php限制的內(nèi)存)
不過印象中curl好像也有強(qiáng)制同步的選項(xiàng),就是等待一個(gè)抓取后再執(zhí)行下一步。但是這個(gè)500次都是用一個(gè)頁面線程處理,也就是說肯定會(huì)遠(yuǎn)遠(yuǎn)大于30秒的默認(rèn)執(zhí)行時(shí)間。
其實(shí)用不著這么麻煩的,采集時(shí),你看到的圖片路徑是相對地址,是相對當(dāng)前域名的一個(gè)相對路徑而已,你只要在前面加上
http://當(dāng)前域名(采集內(nèi)容的域名,比如zhidao.baidu.com)/
就是它的絕對地址了,
就像/abc.jpg一樣
http://當(dāng)前域名(采集內(nèi)容的域名,比如zhidao.baidu.com)/abc.jpg就是絕對地址了
沒必要搞復(fù)雜