亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法及系統(tǒng)與流程

文檔序號:11155558閱讀:來源:國知局

技術(shù)特征:

1.基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,包括如下步驟:

步驟(101):建立新聞網(wǎng)頁爬取內(nèi)容數(shù)據(jù)庫,設(shè)置新聞網(wǎng)頁爬取內(nèi)容數(shù)據(jù)庫的編碼方式;獲得待抓取新聞網(wǎng)頁的新聞列表頁面的URL地址;

步驟(102):訪問待抓取新聞網(wǎng)頁的新聞列表頁面的URL地址,通過瀏覽器開發(fā)者工具判斷新聞列表頁面是否是通過Ajax動態(tài)加載數(shù)據(jù)的;如果是,通過瀏覽器開發(fā)者工具找到Ajax請求的數(shù)據(jù)源;如果不是,就結(jié)束;

步驟(103):判斷Ajax請求的數(shù)據(jù)源和步驟(101)的編碼方式是否一致,如果不一致,則對數(shù)據(jù)源進(jìn)行編碼轉(zhuǎn)換,然后,進(jìn)入步驟(104);如果一致,就直接進(jìn)入步驟(104);

步驟(104):解析數(shù)據(jù)格式:將數(shù)據(jù)源的格式解析成為新聞列表頁面的后臺語言處理的對象格式或者數(shù)組格式;

步驟(105):將步驟(104)解析后的數(shù)據(jù)封裝成對象或數(shù)組類型;判斷封裝是否成功,若成功就直接進(jìn)入步驟(106);否則將數(shù)據(jù)作為字符串來處理;完成后進(jìn)入步驟(106);

步驟(106):將數(shù)據(jù)對象或數(shù)組類型遍歷輸出列表;

步驟(107):利用網(wǎng)絡(luò)爬蟲采集步驟(106)得到的輸出列表;

步驟(108):將采集到的數(shù)據(jù)存儲到數(shù)據(jù)庫中。

2.如權(quán)利要求1所述的基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,

所述步驟(101)URL地址包括臨時存在的URL地址、跳轉(zhuǎn)地址、需要添加時間戳參數(shù)或者簽名參數(shù)后訪問到的URL地址;

所述步驟(101)的新聞網(wǎng)頁爬取內(nèi)容數(shù)據(jù)庫的字段包括:新聞標(biāo)題、新聞發(fā)布時間、新聞爬取時間、新聞來源和新聞內(nèi)容;

所述步驟(101)的新聞網(wǎng)頁爬取內(nèi)容數(shù)據(jù)庫的編碼方式包括:UTF-8的編碼方式或GBK編碼方式。

3.如權(quán)利要求1所述的基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,所述步驟(102)的瀏覽器開發(fā)者工具包括:谷歌瀏覽器開發(fā)者工具。

4.如權(quán)利要求1所述的基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,所述步驟(103)如果Ajax請求的數(shù)據(jù)源存在特殊字符或者亂碼,則把特殊字符或者亂碼進(jìn)行批量替換,轉(zhuǎn)換成為可以進(jìn)行處理的字符。

5.如權(quán)利要求1所述的基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,步驟(103):如果編碼方式不同,則將編碼方式統(tǒng)一,統(tǒng)一采用UTF-8的編碼方式。

6.如權(quán)利要求1所述的基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,所述步驟(102)和步驟(103)之間設(shè)有步驟如下:

步驟(1020):如果Ajax請求是跨域請求,則通過PHP的CURL方式模擬來路頁面,并通過host來獲取請求數(shù)據(jù)地址;

步驟(1021):如果Ajax請求是POST請求,使用PHP語言http_build_query函數(shù)來模擬HTTP的POST請求,以便獲取到POST請求返回的數(shù)據(jù);

步驟(1022):如果無法獲取數(shù)據(jù)內(nèi)容,則通過PHP的CURL來偽造來路頁面對Ajax請求的數(shù)據(jù)源進(jìn)行訪問;

所述步驟(1020)通過PHP函數(shù)修改Referer來模擬在一個域名下進(jìn)行請求,可以獲得請求數(shù)據(jù)地址返回來的結(jié)果,從而解決了跨域請求沒有權(quán)限獲取數(shù)據(jù)的問題。

7.如權(quán)利要求1所述的基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,

所述步驟(104)的步驟如下:

步驟(1041):如果數(shù)據(jù)是JSON格式,則直接進(jìn)入步驟(105);

步驟(1042):如果數(shù)據(jù)是JSONP格式,則進(jìn)行過濾處理;所述過濾處理是將JSONP格式數(shù)據(jù)的請求頭及括弧剔除,然后進(jìn)入步驟(105);

步驟(1043):如果返回的內(nèi)容中出現(xiàn)中英文單雙引號使用不規(guī)范的問題,則通過PHP語言的字符替換函數(shù)進(jìn)行過濾,將特殊字符替換為空字符。

8.如權(quán)利要求1所述的基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,

所述步驟(105):

如果步驟(104)解析后的數(shù)據(jù)不是鍵值對類型,則將步驟(104)解析后的數(shù)據(jù)封裝成為數(shù)據(jù)對象,

如果步驟(104)解析后的數(shù)據(jù)是鍵值對類型,則將步驟(104)解析后的數(shù)據(jù)轉(zhuǎn)換成為數(shù)組類型。

9.如權(quán)利要求1所述的基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取方法,其特征是,

所述步驟(106)的輸出列表包括:新聞標(biāo)題、新聞發(fā)布時間、新聞爬取時間、新聞來源、新聞內(nèi)容和新聞鏈接。

10.基于Ajax的新聞網(wǎng)頁動態(tài)數(shù)據(jù)的抓取系統(tǒng),其特征是,包括:

數(shù)據(jù)庫建立模塊:建立新聞網(wǎng)頁爬取內(nèi)容數(shù)據(jù)庫,設(shè)置新聞網(wǎng)頁爬取內(nèi)容數(shù)據(jù)庫的編碼方式;獲得待抓取新聞網(wǎng)頁的新聞列表頁面的URL地址;

訪問模塊:訪問待抓取新聞網(wǎng)頁的新聞列表頁面的URL地址,通過瀏覽器開發(fā)者工具判斷新聞列表頁面是否是通過Ajax動態(tài)加載數(shù)據(jù)的;如果是,通過瀏覽器開發(fā)者工具找到Ajax請求的數(shù)據(jù)源;如果不是,就結(jié)束;

判斷模塊:判斷Ajax請求的數(shù)據(jù)源和步驟(101)的編碼方式是否一致,如果不一致,則對數(shù)據(jù)源進(jìn)行編碼轉(zhuǎn)換,然后,進(jìn)入步驟(104);如果一致,就直接進(jìn)入步驟(104);

解析數(shù)據(jù)格式模塊:將數(shù)據(jù)源的格式解析成為新聞列表頁面的后臺語言處理的對象格式或者數(shù)組格式;

封裝模塊:將解析后的數(shù)據(jù)封裝成對象或數(shù)組類型;判斷封裝是否成功,若成功就直接進(jìn)入輸出模塊;否則將數(shù)據(jù)作為字符串來處理;完成后進(jìn)入輸出模塊;

輸出模塊:將數(shù)據(jù)對象或數(shù)組類型遍歷輸出列表;利用網(wǎng)絡(luò)爬蟲采集得到的輸出列表;將采集到的數(shù)據(jù)存儲到數(shù)據(jù)庫中。

當(dāng)前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1