本文目錄一覽:
PHP數據採集問題(相對地址轉絕對地址)
其實用不著這麼麻煩的,採集時,你看到的圖片路徑是相對地址,是相對當前域名的一個相對路徑而已,你只要在前面加上
http://當前域名(採集內容的域名,比如zhidao.baidu.com)/
就是它的絕對地址了,
就像/abc.jpg一樣
http://當前域名(採集內容的域名,比如zhidao.baidu.com)/abc.jpg就是絕對地址了
沒必要搞複雜
phpcms網站建設中採集的方法,怎麼樣做採集
工具/原料
PHPCMS
文章採集器
方法/步驟
1、首先我們需要下載並安裝GBK格式的PHPCMS系統。
2、下載PHPCMS和文章採集器的介面文件
3、將jiekou.php文件複製到網站的根目錄下,並用記事本打開該文件,修改「密碼驗證」欄目password處的密碼
4、啟動文章採集器,先點擊【第三步發布內容設置】中的”web發布管理配置”
5、在彈出的【web發布配置管理】窗口中單擊右側的【更多】按鈕,導入「phpcms9.wpm」配置模塊,並選擇該模塊
6、設置【web發布配置管理】中的編碼設置、登錄操作、獲取分類欄目等選項
7、單擊【測試】按鈕,在彈出的【發布配置測試】對話框中設置標籤和內容的值,此項為必須設置,否則發布測試文章會失敗。至此PHPCMS已經與文章採集器連接成功。
php curl 大量數據採集
這個需要配合js,打開一個html頁面,首先js用ajax請求頁面,返回第一個頁面信息確定處理完畢(ajax有強制同步功能),ajax再訪問第二個頁面。(或者根據伺服器狀況,你可以同時提交幾個URL,跑幾個相同的頁面)
參數可以由js產生並傳遞url,php後台頁面根據URL抓頁面。然後ajax通過php,在資料庫或者是哪裡設一個標量,標明檢測到哪裡。由於前台的html頁面執行多少時候都沒問題,這樣php的內存限制和執行時間限制就解決了。
因為不會浪費大量的資源用一個頁面來跑一個瞬間500次的for循環了。(你的500次for循環死了原因可能是獲取的數據太多,大過了php限制的內存)
不過印象中curl好像也有強制同步的選項,就是等待一個抓取後再執行下一步。但是這個500次都是用一個頁面線程處理,也就是說肯定會遠遠大於30秒的默認執行時間。
怎麼用php採集網站數據
簡單的分了幾個步驟:
1、確定採集目標
2、獲取目標遠程頁面內容(curl、file_get_contents)
3、分析頁面html源碼,正則匹配你需要的內容(preg_match、preg_match_all),這一步最為重要,不同頁面正則匹配規則不一樣
4、入庫
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198570.html