1、首先要獲取到對方網址的所有內容,可能你會想到用file_gets_contents來獲取,但此函數不適合用于獲取遠程文件,用于打開本地txt文件還是蠻好用的。那么用什么來獲取呢?Curl,這個php的擴展來處理。下面就是一個簡單的獲取網頁內容的基本配置,更多參數配置可以到網上去搜。
【建設網站建設】 網站創建公司哪家好
2、在采集網頁匹配數據時,特別是在列表頁,可以先把獲取到的對方所有的空格換行等html標簽去掉,寫起正則來就會容易很多。這里提供一個函數:
【網站建設公司哪家好】
3、在獲取到對方的數據的時候就要開始正則匹配了,這里介紹幾個常有的匹配規則:
專業辦理網站制作
一個是任意字符(.*?),另一個是([\s\S]*?)表示包括換行符的任意字符,在匹配過程中夠用了。然后選擇匹配模式i即可。
4、介紹一下采集的思路,可以先把符合頁面的數據下載下來保存為txt文件,再來本地處理就【企業網站制作公司】更快一些。還有就是為了避免頻繁訪問對方網站或數據丟失狀態可以加一個while(){}循環或是sleep()暫停幾秒來處理。把相關的數據庫處理函數要封裝好,直接調用。
5、還有一個重要的事情,很多人可能會忽略,就是頁面的編碼問題,如果對方網站是gbk的編碼,則相應的php文件或是用于提交條件的html文件也會是gbk的編碼。但是這會存在一個問題,就是發生在gbk的html向gbk的php頁面提交中文數據的時候,gbk的php文件可能就不會給你反應,如果你用這些中文數據去匹配的時候會遇到問題。于是要轉變思路,utf-8是更好的編碼模式,所以我們要采用utf-8的編碼,而對方的又是gbk的,如何做呢?
$allcontent=iconv('gbk', 營銷型網站建站【營銷網站開發】'utf-8',removetag(curl_exec($ch)));
上面的這樣轉換就ok了!所有的都用utf-8
本文作者:網絡王國梁
上市公司網站制作公司哪家好 多用戶網站建設
請立即點擊咨詢我們或撥打咨詢熱線: 13968746378,我們會詳細為你一一解答你心中的疑難。項目經理在線