技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)采集、數(shù)據(jù)結(jié)構(gòu)分析、機(jī)器學(xué)習(xí)技術(shù),尤其涉及一種基于機(jī)器學(xué)習(xí)建模抽取網(wǎng)頁結(jié)構(gòu)的方法。
背景技術(shù):
目前身處在大數(shù)據(jù)的時(shí)代里,隨著公司和個(gè)人對數(shù)據(jù)的需求逐漸增多,而數(shù)據(jù)的安全性也受到了更嚴(yán)密的保護(hù),對外開放的數(shù)據(jù)接口越來越少,那么就有了各種各樣的爬蟲軟件,比如《一種非結(jié)構(gòu)化網(wǎng)頁信息的自動(dòng)采集方法》專利中包含以下幾個(gè)步驟:
1)計(jì)算機(jī)系統(tǒng)從數(shù)據(jù)存儲裝置中讀取網(wǎng)址鏈接表;
2)檢測網(wǎng)址鏈接表中是否有待采集的網(wǎng)址,若否,則采集結(jié)束;
3)若步驟2的檢測結(jié)果為是,則選擇對應(yīng)于待采集的網(wǎng)址的分解規(guī)則;
4)創(chuàng)建至少一個(gè)線程,該至少一個(gè)線程通過所選的分解規(guī)則分解當(dāng)前網(wǎng)址的頁面;
5)分解完成后,將需保存的網(wǎng)頁信息及采集狀態(tài)信息保存到數(shù)據(jù)存儲裝置,并返回步驟2)。但是大部分都是爬取到網(wǎng)頁內(nèi)容后,都會遇到各種網(wǎng)頁結(jié)構(gòu)抽取,網(wǎng)頁內(nèi)容分析的困難,因?yàn)榫W(wǎng)頁結(jié)構(gòu)千變?nèi)f化,不可能會有一種或幾種規(guī)則就能將所有網(wǎng)頁進(jìn)行結(jié)構(gòu)化數(shù)據(jù)抽取,所以不管爬取到的網(wǎng)頁URL有多少,到網(wǎng)頁結(jié)構(gòu)抽取分析,將會是個(gè)瓶頸,會需要專業(yè)的分析人員,進(jìn)行Dom、正則、Xpath等分析。
技術(shù)實(shí)現(xiàn)要素:
為了解決以上技術(shù)問題,本發(fā)明提出了一種基于機(jī)器學(xué)習(xí)建模抽取網(wǎng)頁結(jié)構(gòu)的方法。
當(dāng)人們打開網(wǎng)站時(shí),通過瀏覽頁面信息,能快速的獲取到想要的信息,尤其是打開歷史網(wǎng)站,根本不用花很多時(shí)間,根據(jù)記憶力便能快速找到。我們把這種人類學(xué)習(xí)法用在了機(jī)器學(xué)習(xí)采集網(wǎng)頁上,在采集需求比較多的情況下,操作簡單化的網(wǎng)頁規(guī)則錄制將變得非常重要,它替代了專業(yè)的網(wǎng)頁規(guī)則抽取分析人員,只需要用戶通過鼠標(biāo)選中網(wǎng)頁中需要的數(shù)據(jù),通過就會轉(zhuǎn)化為采集器可以分析的編碼。
本發(fā)明的技術(shù)方案是:
一種基于機(jī)器學(xué)習(xí)建模抽取網(wǎng)頁結(jié)構(gòu)的方法,包括機(jī)器學(xué)習(xí)的網(wǎng)頁抽取設(shè)計(jì)模式和存儲錄制規(guī)則;
其中,網(wǎng)頁抽取設(shè)計(jì)模式是推薦網(wǎng)頁字段抽取方案,主動(dòng)學(xué)習(xí)網(wǎng)頁字段抽取方法;
存儲錄制規(guī)則是將錄制規(guī)則通過rest服務(wù)接收,并設(shè)置一組識別標(biāo)簽,包括頁面url、規(guī)則名稱、時(shí)間戳做為數(shù)據(jù)的RowKey。
主要內(nèi)容為:
1)網(wǎng)頁結(jié)構(gòu)模糊抽取,主要是根據(jù)機(jī)器建模中的概率算法提取出結(jié)構(gòu)內(nèi)容,內(nèi)容結(jié)構(gòu)不符合,可以進(jìn)行修改,并再次保存到建模中。
2)通過貝葉斯學(xué)習(xí),機(jī)器建模衍生出深層次的網(wǎng)頁抽取,比如抽取某網(wǎng)頁的標(biāo)題,通過機(jī)器建模,不僅可以有抽取標(biāo)題的選擇,而且可以抽取他的子類及父類相關(guān)的元素。
3)網(wǎng)頁中列表及翻頁的規(guī)則錄制,包括采集一頁簡單網(wǎng)頁的列表或表格信息,包括一列或多列可以循環(huán)翻頁;
4)列表及詳情錄制,采集一頁簡單網(wǎng)頁的列表信息及每一項(xiàng)的詳情信息,可以循環(huán)翻頁;
5)URL列表錄制,采集多頁同類型簡單網(wǎng)頁信息,每一頁適用相同規(guī)則,提取到的數(shù)據(jù)匯總到同一張表。例如無翻頁,連續(xù)ID內(nèi)容頁信息提??;
6)單網(wǎng)頁錄制,采集一頁簡單的網(wǎng)頁信息。例如獲取某篇新聞的標(biāo)題、時(shí)間、作者等。
7)高級錄制,采集一個(gè)網(wǎng)站信息,可以配置采集深度,間隔,過濾url,代理等。
本發(fā)明的有益效果是
本發(fā)明安裝及操作非常簡單,而且可以快速生成要采集網(wǎng)站的分析規(guī)則,減少了專業(yè)網(wǎng)站分析人員參與,使普通用戶采集網(wǎng)站數(shù)據(jù)并生成結(jié)構(gòu)化數(shù)據(jù)變的更加易用。
附圖說明
圖1是本發(fā)明的工作流程示意圖。
具體實(shí)施方式
下面對本發(fā)明的內(nèi)容進(jìn)行更加詳細(xì)的闡述:
本發(fā)明是通過貝葉斯學(xué)習(xí)法研發(fā)的網(wǎng)頁錄制軟件,主要內(nèi)容為:
1)網(wǎng)頁結(jié)構(gòu)模糊抽取,主要是根據(jù)機(jī)器建模中的概率算法提取出結(jié)構(gòu)內(nèi)容,內(nèi)容結(jié)構(gòu)不符合,可以進(jìn)行修改,并再次保存到建模中。
2)通過貝葉斯學(xué)習(xí),機(jī)器建模衍生出深層次的網(wǎng)頁抽取,比如抽取某網(wǎng)頁的標(biāo)題,通過機(jī)器建模,不僅可以有抽取標(biāo)題的選擇,而且可以抽取他的子類及父類相關(guān)的元素。
3)網(wǎng)頁中列表及翻頁的規(guī)則錄制,包括采集一頁簡單網(wǎng)頁的列表或表格信息,包括一列或多列可以循環(huán)翻頁;
4)列表及詳情錄制,采集一頁簡單網(wǎng)頁的列表信息及每一項(xiàng)的詳情信息,可以循環(huán)翻頁;
5)URL列表錄制,采集多頁同類型簡單網(wǎng)頁信息,每一頁適用相同規(guī)則,提取到的數(shù)據(jù)匯總到同一張表。例如無翻頁,連續(xù)ID內(nèi)容頁信息提??;
6)單網(wǎng)頁錄制,采集一頁簡單的網(wǎng)頁信息。例如獲取某篇新聞的標(biāo)題、時(shí)間、作者等。
7)高級錄制,采集一個(gè)網(wǎng)站信息,可以配置采集深度,間隔,過濾url,代理等。
本發(fā)明安裝及操作具體步驟如下:
1)安裝機(jī)器建模學(xué)習(xí)系統(tǒng),可以安裝在云服務(wù)上,通過http協(xié)議的服務(wù)進(jìn)行傳輸。
2)將網(wǎng)站錄制軟件安裝到瀏覽器上。
3)打開要采集的網(wǎng)站,點(diǎn)擊瀏覽器右上角本軟件的圖標(biāo),選擇要錄制的方式,比如:網(wǎng)頁中列表及翻頁的規(guī)則錄制。
4)按照提示,進(jìn)行選中網(wǎng)頁要錄制的內(nèi)容,然后點(diǎn)擊“下一步”。
5)設(shè)置是否翻頁,如果翻頁,點(diǎn)擊網(wǎng)頁中翻頁的標(biāo)簽,不需要翻頁則點(diǎn)擊“下一步”。
6)設(shè)置保存字段,點(diǎn)擊3)中選中的內(nèi)容,進(jìn)行數(shù)據(jù)建模,完成后點(diǎn)擊“錄制完成”。
7)生成規(guī)則錄制文檔,提供給采集系統(tǒng)。
本發(fā)明能讓網(wǎng)頁爬取者更快速的獲取網(wǎng)頁規(guī)則及內(nèi)容信息,并且將網(wǎng)頁爬取和網(wǎng)頁規(guī)則分析進(jìn)行了分離,通過該錄制網(wǎng)頁結(jié)構(gòu)的方法生成的采集規(guī)則可以在不同類型的采集器中使用。解決了網(wǎng)頁爬取,分析者需要自己分析查看網(wǎng)頁源碼、自己手動(dòng)編寫抽取規(guī)則、規(guī)則不能重復(fù)使用等問題。