先獲取整個網(wǎng)頁的內(nèi)容,然后匹配到你說的數(shù)據(jù),嵌套到自己的網(wǎng)站,隔一段時間ajax運(yùn)行一次。
創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)公司一直秉承“誠信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網(wǎng)定制,網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
首先,querylist是時下php最先進(jìn)的dom采集包之一,而且是國人寫的,中文文檔很好,如果想用好,應(yīng)該直接看一遍 官方文檔 我這里簡單記錄下我對querylisty使用的理解。目標(biāo)是用一篇文章解釋如何使用。
第一步,查看網(wǎng)頁源代碼,找到ajax請求的URL。
jsp是服務(wù)器的語言,你只能抓取到它輸出到頁面的內(nèi)容。
用PHP有多種方法可以抓取。不過其原理都是需要先通過下載遠(yuǎn)程網(wǎng)頁才行。下載遠(yuǎn)程網(wǎng)頁P(yáng)HP使用的方法有 (1)PHP CURL下載。
抓取的話,可以用QueryList采集器:QueryList的出現(xiàn)讓PHP做采集從未如此簡單。
可以呀。用snoopy的類,網(wǎng)上有snoopy.class.php,你自行百度查找。snoopy的類可以設(shè)置$proxy_host參數(shù),設(shè)置代理主機(jī),$proxy_port是代理主機(jī)端口。你下載一個下來,網(wǎng)上的教程很多,看看應(yīng)該明白。
設(shè)置【web發(fā)布配置管理】中的編碼設(shè)置、登錄操作、獲取分類欄目等選項(xiàng) 單擊【測試】按鈕,在彈出的【發(fā)布配置測試】對話框中設(shè)置標(biāo)簽和內(nèi)容的值,此項(xiàng)為必須設(shè)置,否則發(fā)布測試文章會失敗。
這樣一來,你只是使用file_get_contents函數(shù)就實(shí)現(xiàn)不了這個功能了。能夠模擬瀏覽器發(fā)送各種報(bào)頭,甚至是登錄用cookie的擴(kuò)展有不少,Curl就是其中之一。
result[] = $arr[1];} //輸出測試,$result就是你要的數(shù)據(jù),至于你要怎么輸出顯示格式,那就隨心調(diào)就好了。
PHP打開網(wǎng)頁貌似是獲取里面的源代碼,和什么瀏覽器,怎么顯示無關(guān)。網(wǎng)頁數(shù)量多的話就每頁采集一個或幾個,然后刷新或跳轉(zhuǎn)到下一頁。
一般來說,PHP采集數(shù)據(jù)最簡單的辦法是使用file_get_content函數(shù),功能更強(qiáng)大的推薦使用cURL函數(shù)庫。
參數(shù)可以由js產(chǎn)生并傳遞url,php后臺頁面根據(jù)URL抓頁面。然后ajax通過php,在數(shù)據(jù)庫或者是哪里設(shè)一個標(biāo)量,標(biāo)明檢測到哪里。由于前臺的html頁面執(zhí)行多少時候都沒問題,這樣php的內(nèi)存限制和執(zhí)行時間限制就解決了。
使用php的file或者file_get_contents函數(shù),獲取鏈接URL的內(nèi)容。通過php正則表達(dá)式,獲取你需要的3個字段內(nèi)容。寫入數(shù)據(jù)庫。需要注意的是,百度知道有可能做了防抓取的功能,你剛一抓幾個頁面,可能會被禁止。