本技術(shù)涉及自動化數(shù)據(jù)處理,具體涉及一種平臺報告自動化批量下載方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在現(xiàn)代信息技術(shù)日益發(fā)達的背景下,網(wǎng)絡(luò)平臺上的數(shù)據(jù)量急劇增加。各類網(wǎng)站提供海量的數(shù)據(jù)報告,這些報告常常包含對企業(yè)經(jīng)營、科研、市場分析等領(lǐng)域具有重要價值的信息。隨著數(shù)據(jù)量的急劇增加,有效且高效地獲取這些信息變得尤為關(guān)鍵。
2、隨著自動化技術(shù)的發(fā)展,通常通過網(wǎng)頁抓取工具和下載管理器來輔助下載網(wǎng)絡(luò)上各類網(wǎng)站提供的數(shù)據(jù)報告,然而,上述方法只能處理靜態(tài)內(nèi)容和直接的文件下載,對于動態(tài)生成的內(nèi)容和復(fù)雜的網(wǎng)頁結(jié)構(gòu),這些工具的能力受到明顯的限制,從而導(dǎo)致從網(wǎng)站上獲取的數(shù)據(jù)報告的數(shù)量有限。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供一種平臺報告自動化批量下載方法、裝置、設(shè)備及存儲介質(zhì),用于提高從網(wǎng)站上獲取的數(shù)據(jù)報告的數(shù)量。
2、第一方面,本技術(shù)提供了一種平臺報告自動化批量下載方法,所述方法包括:在瀏覽器中打開目標網(wǎng)站并在所述目標網(wǎng)站中登錄目標網(wǎng)頁;在所述目標網(wǎng)頁中打開多個目標子頁面,并在各所述目標子頁面中的搜索欄填寫預(yù)設(shè)搜索內(nèi)容進行搜索,得到多個子頁面鏈接;獲取預(yù)設(shè)關(guān)鍵詞和自定義提取規(guī)則;根據(jù)所述預(yù)設(shè)關(guān)鍵詞和所述自定義提取規(guī)則,在各所述子頁面鏈接中提取目標報告對應(yīng)的元素,并根據(jù)所述目標報告對應(yīng)的元素,確定各所述子頁面鏈接中的所述目標報告的下載鏈接;根據(jù)各所述子頁面鏈接中的所述目標報告的下載鏈接,下載所述目標報告,將所述目標報告保存至本地。
3、通過采用上述技術(shù)方案,為實現(xiàn)報告的自動化批量下載,需要通過程序化的方式進行操作。首先在瀏覽器中打開目標網(wǎng)站,并輸入賬號密碼完成登錄,以訪問需要權(quán)限的報告頁面。登錄后,程序會預(yù)先設(shè)置好關(guān)鍵詞和提取規(guī)則,在搜索結(jié)果頁面中查找符合規(guī)則的元素,解析得到報告的下載地址。解析完成后,程序便可以批量訪問這些提取出的下載鏈接,持續(xù)地將報告文件下載并保存到本地。通過這樣的自動化流程,提高從網(wǎng)站上獲取的數(shù)據(jù)報告的數(shù)量,自動批量下載海量報告。
4、可選的,所述在瀏覽器中打開目標網(wǎng)站并在所述目標網(wǎng)站中登錄目標網(wǎng)頁,包括:通過selenium庫中的webdriver接口在瀏覽器打開目標網(wǎng)站;在所述目標網(wǎng)站的登錄頁面中輸入用戶名和密碼,登錄目標網(wǎng)頁。
5、通過采用上述技術(shù)方案,程序首先調(diào)用webdriver打開目標網(wǎng)站的登錄頁,定位到賬號和密碼輸入框,并自動填入預(yù)設(shè)的賬號密碼信息。提交登錄后,selenium會自動處理登錄過程的各種元素交互。完成這一系列流程后,程序便通過用戶驗證,成功登錄目標網(wǎng)站。采用selenium?automated的方式實現(xiàn)登錄,不僅節(jié)省了手工操作的時間,而且可以精準定位頁面元素,避免登錄過程中出現(xiàn)人為失誤。相比傳統(tǒng)人工登錄,自動化登錄流程更為精準可靠,大大提高了報告數(shù)據(jù)采集的效率。利用selenium這種成熟的自動化測試工具,程序可以順利執(zhí)行目標網(wǎng)站的登錄流程。配合程序自動操作頁面元素,實現(xiàn)了報告采集任務(wù)中登錄環(huán)節(jié)的自動化,為后續(xù)獲取保密報告數(shù)據(jù)奠定基礎(chǔ)。
6、可選的,所述在所述目標網(wǎng)站的登錄頁面中輸入用戶名和密碼之后,還包括判斷當前頁面是否進入所述目標網(wǎng)站的所述目標網(wǎng)頁;若未進入所述目標網(wǎng)站的所述目標網(wǎng)頁,則清空所述用戶名和所述密碼,在所述登錄頁面中重新輸入所述用戶名和所述密碼,若在所述登錄頁面中重新輸入所述用戶名和所述密碼預(yù)設(shè)次數(shù)后,則發(fā)送錯誤信息至作業(yè)人員的終端設(shè)備;若進入所述目標網(wǎng)站的所述目標網(wǎng)頁,則通過selenium的cookie接口獲取當前登錄狀態(tài)的cookies信息,并存儲所述cookies信息;通過selenium的get接口訪問所述目標網(wǎng)站的所述目標網(wǎng)頁,并將所述cookies信息加載到所述瀏覽器。
7、通過采用上述技術(shù)方案,selenium的頁面元素識別功能判斷當前頁面是否為目標網(wǎng)頁。如果未成功進入目標頁,說明登錄失敗。程序會清空用戶名和密碼,重新輸入預(yù)設(shè)次數(shù)后再判斷。這樣循環(huán)驗證可以避免登錄環(huán)節(jié)的錯誤。若連續(xù)重新登錄失敗,程序會自動發(fā)送提示信息給相關(guān)人員。人工干預(yù)可以快速解決登錄故障,降低報告采集任務(wù)的失敗率。若最終登錄成功進入目標頁面,則用selenium獲取當前登錄狀態(tài)的cookies信息,并存儲下來。這樣可以復(fù)用cookies直接訪問目標頁面,無需重復(fù)登錄,優(yōu)化了流程。在后續(xù)需要訪問目標網(wǎng)頁時,程序直接利用selenium的get接口發(fā)送訪問請求,并將存儲的cookies信息加載到該請求中,大幅提高目標網(wǎng)站報告的采集效率。
8、可選的,所述根據(jù)所述預(yù)設(shè)關(guān)鍵詞和所述自定義提取規(guī)則,在各所述子頁面鏈接中提取目標報告對應(yīng)的元素,并根據(jù)所述目標報告對應(yīng)的元素,確定各所述子頁面鏈接中的所述目標報告的下載鏈接,包括:獲取各所述子頁面鏈接的dom結(jié)構(gòu);根據(jù)所述預(yù)設(shè)關(guān)鍵詞,在各所述子頁面鏈接的dom結(jié)構(gòu)中搜索目標報告對應(yīng)的第一元素;根據(jù)所述自定義提取規(guī)則對所述第一元素進行篩選,得到第二元素;根據(jù)所述第二元素,構(gòu)建所述目標報告的信息結(jié)構(gòu);根據(jù)所述目標報告的信息結(jié)構(gòu),確定各所述子頁面鏈接中的所述目標報告的下載鏈接。
9、通過采用上述技術(shù)方案,程序獲取網(wǎng)頁的dom樹,并在樹結(jié)構(gòu)中根據(jù)關(guān)鍵詞搜索與報告相關(guān)的元素,這些元素包含報告名稱、格式等信息。根據(jù)預(yù)設(shè)的自定義提取規(guī)則對第一輪搜索結(jié)果進行二次篩選。然后根據(jù)這些元素構(gòu)建報告的完整信息結(jié)構(gòu)。最后讀取報告對象的下載地址屬性,獲取到目標報告的下載鏈接。經(jīng)過頁面解析和信息提取、篩選的流程,成功從復(fù)雜頁面中定位到可用的報告下載地址。這樣的自動化解析機制,可以從海量搜索結(jié)果中有效提取出準確的報告下載鏈接,大幅提升了報告獲取的效率。實現(xiàn)了從復(fù)雜頁面結(jié)構(gòu)到報告下載地址的高效歸集。
10、可選的,所述根據(jù)各所述子頁面鏈接中的所述目標報告的下載鏈接,下載所述目標報告,將所述目標報告保存至本地,包括:獲取系統(tǒng)資源和網(wǎng)絡(luò)狀態(tài);根據(jù)所述系統(tǒng)資源和所述網(wǎng)絡(luò)動態(tài),確定下載任務(wù)的最大并發(fā)數(shù),并按照所述最大并發(fā)數(shù)對所述目標報告進行下載;當所述目標報告下載完畢后,將所述目標報告保存至本地。
11、通過采用上述技術(shù)方案,在獲取到目標報告的下載鏈接后,程序需要將這批鏈接指向的報告文件下載并保存到本地。由于報告數(shù)量可能非常龐大,為了控制下載效率,需要優(yōu)化下載并發(fā)數(shù)。具體做法是,檢測當前可用的系統(tǒng)資源狀況,同時也監(jiān)控網(wǎng)絡(luò)實時狀態(tài),判斷是否存在延遲或中斷。根據(jù)這些信息,程序可以計算出最大允許的并發(fā)下載數(shù)量。然后按照得到的最優(yōu)并發(fā)數(shù),開啟多個線程同時下載多個報告文件??刂葡螺d并發(fā)數(shù)可以使網(wǎng)絡(luò)資源和系統(tǒng)資源達到高效利用,又避免過載影響下載速度。所有報告下載完成后,程序會自動將其存儲到指定的本地目錄中。既實現(xiàn)了報告的高速批量下載,又保證了服務(wù)器和客戶端的穩(wěn)定。
12、可選的,所述將所述目標報告保存至本地之后,還包括:對所述目標報告進行完整性驗證;若所述目標報告的完整性符合預(yù)設(shè)要求,則根據(jù)所述目標報告的內(nèi)容、類型及業(yè)務(wù)需求,將所述目標報告進行分類。
13、通過采用上述技術(shù)方案,下載保存了大量報告之后,需要檢驗其完整性與正確性。通過算法驗證每份報告內(nèi)容是否完整,驗證完畢后將各報告自動分類存放到相關(guān)目錄中。分類存儲可以方便后續(xù)快速檢索到所需類型和主題的報告,提升分析工作的效率。報告驗證與分類的自動化機制,可以在海量報告下載完成后對其進行標準化處理,過濾掉無效報告,并有效組織存放可用報告,自動化流程也減少了人為錯誤發(fā)生的概率。
14、可選的,所述目標報告進行完整性驗證,包括:對所述目標報告的文件名和文件大小值進行校驗;將所述目標報告內(nèi)的文本信息與數(shù)據(jù)庫中存儲的報告樣例進行匹配,計算文本相似度;如果所述目標報告的文件名和文件大小校驗通過,且文本相似度高于預(yù)設(shè)閾值,則判斷該目標報告完整性驗證通過。
15、通過采用上述技術(shù)方案,為確保報告的有效性,對目標報告的文件名和文件大小值進行校驗,將目標報告內(nèi)的文本信息與數(shù)據(jù)庫中存儲的報告樣例進行匹配,計算文本相似度??梢杂行ёR別出損壞不全的報告并排除掉。保證后續(xù)分析和應(yīng)用的報告質(zhì)量。
16、第二方面,本技術(shù)提供一種平臺報告自動化批量下載裝置,所述裝置包括:登錄模塊、搜索模塊、獲取模塊、生成模塊及下載模塊;其中,所述登錄模塊,用于在瀏覽器中打開目標網(wǎng)站并在所述目標網(wǎng)站中登錄目標網(wǎng)頁;所述搜索模塊,用于在所述目標網(wǎng)頁中打開多個目標子頁面,并在各所述目標子頁面中的搜索欄填寫預(yù)設(shè)搜索內(nèi)容進行搜索,得到多個子頁面鏈接;所述獲取模塊,用于獲取預(yù)設(shè)關(guān)鍵詞和自定義提取規(guī)則;所述生成模塊,用于根據(jù)所述預(yù)設(shè)關(guān)鍵詞和所述自定義提取規(guī)則,在各所述子頁面鏈接中提取目標報告對應(yīng)的元素,并根據(jù)所述目標報告對應(yīng)的元素,確定各所述子頁面鏈接中的所述目標報告的下載鏈接;所述下載模塊,用于根據(jù)各所述子頁面鏈接中的所述目標報告的下載鏈接,下載所述目標報告,將所述目標報告保存至本地。
17、通過采用上述技術(shù)方案,為實現(xiàn)報告的自動化批量下載,需要通過程序化的方式進行操作。首先在瀏覽器中打開目標網(wǎng)站,并輸入賬號密碼完成登錄,以訪問需要權(quán)限的報告頁面。登錄后,程序會預(yù)先設(shè)置好關(guān)鍵詞和提取規(guī)則,在搜索結(jié)果頁面中查找符合規(guī)則的元素,解析得到報告的下載地址。解析完成后,程序便可以批量訪問這些提取出的下載鏈接,持續(xù)地將報告文件下載并保存到本地。通過這樣的自動化流程,提高從網(wǎng)站上獲取的數(shù)據(jù)報告的數(shù)量,自動批量下載海量報告。
18、第三方面,本技術(shù)提供一種電子設(shè)備,采用如下技術(shù)方案:包括處理器、存儲器、用戶接口及網(wǎng)絡(luò)接口,所述存儲器用于存儲指令,所述用戶接口和網(wǎng)絡(luò)接口用于給其他設(shè)備通信,所述處理器用于執(zhí)行所述存儲器中存儲的指令,以使所述電子設(shè)備執(zhí)行如上述任一種平臺報告自動化批量下載方法的計算機程序。
19、第四方面,本技術(shù)提供一種計算機可讀存儲介質(zhì),采用如下技術(shù)方案:存儲有能夠被處理器加載并執(zhí)行上述任一種平臺報告自動化批量下載方法的計算機程序。
20、綜上所述,本技術(shù)包括以下至少一種有益技術(shù)效果:
21、1.自動批量下載海量報告;
22、2.從海量搜索結(jié)果中有效提取出準確的報告下載鏈接,大幅提升了報告獲取的效率。