摘" 要:爬蟲技術是搜索引擎和信息網站獲取數據的核心技術之一,專用的網絡爬蟲能夠在短時間內從網絡上抓取大量有用數據。基于為研究者提供所需學術資源的目的,研究了爬蟲技術在爬取學術網站論文數據中的應用。分析了Python爬蟲技術在學術聚合系統(tǒng)中的應用,借助大數據技術手段對所爬取的學術數據進行存儲、清洗、聚合、消歧和融合。Python爬蟲技術在學術聚合系統(tǒng)中起著關鍵作用,助力研發(fā)人員構建強大的數據聚合和分析平臺,為學術研究人員提供有價值的信息資源,對學術研究、文獻檢索和信息發(fā)現都具有重要意義。
關鍵詞:Python爬蟲;學術資源;大數據技術;學術聚合系統(tǒng)
中圖分類號:TP311.5;TP312" 文獻標識碼:A" 文章編號:2096-4706(2024)10-0068-07
The Application of Python Crawler Technology in Academic Aggregation Systems
CUI Mengyin1, DENG Yin1, LIU Manyi2
(1.Guangdong University of Science and Technology, Dongguan" 523083, China;
2.Shenzhen Huanxuntong Technology Co., Ltd., Shenzhen" 518000, China)
Abstract: Crawler technology is one of the core technologies for search engines and information websites to obtain data. Specialized web crawlers can quickly crawl a large amount of useful data from the network. In order to meet the needs of researchers crawling academic paper data on academic websites to obtain academic resources, the application of Python crawler technology in academic aggregation systems is studied. With the help of big data technology, the crawled academic data is stored, cleaned, aggregated, disambiguated, and fused. Python crawler technology plays a crucial role in academic aggregation systems, helping developers build powerful data aggregation and analysis platforms, providing valuable information resources for academic researchers, and is of great significance for academic research, literature retrieval, and information discovery.
Keywords: Python crawler; academic resource; big data technology; academic aggregation system
0" 引" 言
在信息時代,網絡上的數據量不斷膨脹,成千上萬的學術資源散布在各種學術網站之間,為學術研究人員提供了豐富的知識和信息[1]。對于研究人員而言,獲取并利用這些學術資源是其工作不可或缺的一部分。然而,這個龐大的信息海洋也帶來了一個挑戰(zhàn):如何高效地獲取和利用這些寶貴的學術資源。爬蟲技術,作為搜索引擎和信息網站的核心技術之一,能夠在極短的時間內從網絡上抓取大量有用的數據,為解決這一挑戰(zhàn)提供了強大的工具。
早期的搜索引擎如Google、Bing等,以及爬蟲工具如Nutch和Scrapy等,為了建立互聯網上的索引和提供搜索服務,開發(fā)了強大的爬蟲技術[2]。這些技術用于從網頁上抓取信息并構建搜索引擎的數據庫。一些學術搜索引擎如Google Scholar、Microsoft Academic等專注于學術領域,提供了學術文獻的搜索和檢索功能。它們通過爬蟲技術從學術網站和期刊中收集學術論文和研究成果。已經建立了許多學術數據庫和索引,例如PubMed、IEEE Xplore、Web of Science等。這些數據庫提供了廣泛的學術文獻和研究成果,但它們的數據通常是有結構的,可以通過API進行訪問。開發(fā)了許多文獻管理工具,如EndNote、Mendeley、Zotero等,用于幫助研究人員組織和管理他們的文獻資源[3]。這些工具通常包括文獻導入、引用管理和文獻搜索功能。在學術數據處理方面,已經有一些工具和技術用于清洗、聚合和消歧學術數據。這些工具有助于提高數據的質量和可用性。學術資源聚合和爬蟲技術方面已經取得了重要的進展。然而,新的挑戰(zhàn)和機會不斷涌現,因此,不斷改進和創(chuàng)新這些技術和工具仍然是學術領域的一個重要任務。
Python爬蟲技術在學術聚合系統(tǒng)中的應用,介紹Python網絡爬蟲技術的基本原理和關鍵技術,研究了學術聚合系統(tǒng)的設計和實現,包括網絡爬蟲技術、大數據處理工具,以及數據清洗、消歧和融合的關鍵步驟。這一綜合性的研究對于構建強大的學術聚合系統(tǒng),為學術研究提供有價值的信息資源,具有重要的意義。
1" 相關技術
1.1" Python網絡爬蟲
Python是一個非常受歡迎的編程語言,因其簡單易學、擁有豐富的庫和框架,而成為網絡爬蟲的首選語言之一。Python的Requests庫通常用于發(fā)起HTTP請求,而Beautiful Soup和lxml等庫用于解析和處理網頁內容[4]。Python網絡爬蟲是一種自動化獲取網頁信息的程序。它通過模擬用戶瀏覽網頁的行為,從網站上抓取所需的數據,并將其保存到本地或數據庫中。Python網絡爬蟲廣泛應用于搜索引擎、數據挖掘、輿情分析等領域。
1.2" 網絡爬蟲的原理
網絡爬蟲的第一步是獲取要爬取網頁的鏈接,如何獲取這些鏈接一般有三種方式:
1)通過站點地圖(sitemap)獲取鏈接。
2)爬取站點的索引頁獲取鏈接。
3)跟隨鏈接。爬蟲通常會在解析過程中發(fā)現其他鏈接,這些鏈接指向其他頁面。爬蟲會遞歸地跟隨這些鏈接,以獲取更多頁面的內容。這種遞歸過程被稱為爬取深度優(yōu)先搜索(DFS)或廣度優(yōu)先搜索(BFS),取決于策略。停止條件可以是達到預定的爬取深度、訪問特定數量的頁面、或滿足某些特定條件。
面對成千上萬的爬蟲任務時,通過會把落地頁鏈接存放在Redis中,這樣做的好處主要是爬蟲程序一旦中斷或爬取失敗時無須再次從頭爬取,從中斷處爬取即可。網絡爬蟲的工作流程如下:
1)發(fā)起HTTP請求。爬蟲程序首先從Redis緩存中獲取一個或多個URL,然后向這些URL發(fā)起HTTP請求。這些請求可以是HTTP GET請求,用于獲取頁面內容,或者是HTTP POST請求,用于提交表單數據等。
2)獲取響應。爬蟲接收到目標網站的HTTP響應,這個響應包含了頁面的內容和其他相關信息。響應通常包括HTTP狀態(tài)碼、響應頭和響應體(HTML內容)。
3)提取數據。爬蟲使用解析后的HTML頁面來定位和提取感興趣的數據。這可以包括文本、鏈接、圖像、表格等各種類型的信息。數據提取通常依賴于HTML文檔的結構和標簽。
4)存儲數據。爬蟲將提取的數據存儲在本地文件或數據庫中,以備后續(xù)使用。數據存儲的方式取決于爬蟲的設計和需求。
5)處理異常和錯誤。在執(zhí)行過程中,爬蟲可能會遇到各種異常和錯誤,例如網絡連接問題、網站反爬蟲措施、頁面不存在等。爬蟲需要具備處理這些情況的能力,可以重新嘗試、記錄錯誤或采取其他措施。
需要注意的是,合法的網絡爬蟲必須遵守網站的使用政策和robots.txt文件中定義的規(guī)則。robots.txt文件告訴爬蟲哪些頁面可以訪問,哪些不可以,以及爬取速度限制等。
1.3" 網絡反爬技術
在相關網絡爬蟲技術發(fā)展的同時,反爬蟲技術也在不斷發(fā)展[5],目前反爬蟲技術主要使用以下基本策略:
1)User-Agent控制請求。網站服務器可以檢查HTTP請求的User-Agent標頭,以識別爬蟲請求。爬蟲可以偽裝自己的User-Agent標頭,使其看起來像普通瀏覽器的請求。這可以通過在HTTP請求中設置合適的User-Agent標頭來實現。
2)IP限制。網站可以根據IP地址封鎖或限制請求。使用代理服務器可以輪流更改爬蟲的IP地址,以避免被封鎖。代理服務器可以提供多個IP地址,爬蟲可以在不同的請求中使用不同的IP地址。
3)Session訪問控制。Session是用戶請求服務器的憑證,在服務器端根據短時間內的訪問量來判斷是否為網絡爬蟲,將疑似網絡爬蟲的Session禁用。通過網絡爬蟲技術可以注冊多個賬號,使用多個Session輪流對服務器進行訪問,避免Session被禁用。
4)驗證碼。一些網站要求用戶在訪問之前輸入驗證碼,以驗證其身份。爬蟲可以使用OCR(光學字符識別)技術來自動解析驗證碼,盡管這可能需要更復雜的實現。另外,可以考慮手動輸入驗證碼或使用可視化自動化工具(如Selenium)來模擬用戶輸入驗證碼。
5)動態(tài)加載。一些網站使用JavaScript動態(tài)生成頁面內容,這對傳統(tǒng)爬蟲來說是一個挑戰(zhàn)。使用支持JavaScript渲染的爬蟲工具(如Selenium、Puppeteer)來加載和解析頁面[6]。這些工具可以模擬瀏覽器行為,獲取動態(tài)生成的內容。
6)人工智能檢測。高級反爬蟲系統(tǒng)可能使用機器學習和人工智能技術來檢測爬蟲行為。這是一個更復雜的問題,通常需要不斷調整爬蟲的行為以規(guī)避檢測。爬蟲開發(fā)者可能需要隨機化請求間隔、模仿人類瀏覽行為,并采取其他措施來減少檢測風險。
1.4" 大數據處理技術應用
大數據處理技術為網絡爬蟲提供了強大的工具和平臺,用于高效處理、分析和存儲大規(guī)模數據,以支持各種數據驅動的任務和應用[7]。開發(fā)一個用于生產環(huán)境的網絡爬蟲時,一個不容忽視的問題是如何處理和存儲原始網頁數據。在一些簡單的使用情況下往往會忽略這個問題。例如,當用戶只需要獲取某個網站的數據并達到某個數量時,如果在處理某個特殊頁面時發(fā)生錯誤,直接跳過也是可以接受的。然而,一旦用戶對數據質量提出更高要求,就需要考慮更為嚴格和完備的技術方案。在這些情況下,存儲和管理原始數據成為不可或缺的一部分。
保存原始數據是提高數據質量的前提,其一,保存原始數據可以在網站改版的時候,保證數據不丟失,只要修改抽取規(guī)則,對原始網頁重新處理即可;其二,原始數據是網頁信息抽取模塊的輸入,原始數據可以讓研發(fā)迭代信息抽取算法,優(yōu)化用戶使用體驗。
HBase是一個適用于大規(guī)模數據的高性能、高可用性、高擴展性的分布式NoSQL數據庫[8]。它適用于多種用例,包括時間序列數據存儲、實時分析、監(jiān)控、日志處理和大規(guī)模數據存儲等。在構建大數據應用程序時,HBase常常是一個有力的數據存儲和檢索解決方案。學術聚合系統(tǒng)涉及數百個學術站點的爬取,爬取的網頁達到10余億個,因此選用Hbase作為網頁庫用于保存原始網頁數據,其中使用URL的md5值作為Rowkey,網頁內容作為值存放在列族中的列中。
PySpark是Spark的Python API,它提供了在Python中使用Spark分布式計算引擎進行大規(guī)模數據處理和分析的功能[9]。通過PySpark,可以利用Spark的分布式計算能力處理和分析海量數據集。PySpark支持各種數據源的讀取,如文本文件、CSV、JSON、Parquet等。它還支持Spark SQL、流式計算、機器學習等庫。本研究使用PySpark作為學術網頁信息抽取、學術核心庫數據構建以及數據消歧。
2" 學術聚合系統(tǒng)架構設計
學術聚合系統(tǒng)是一個較為復雜的信息處理系統(tǒng),旨在從各種學術資源源源不斷地獲取、處理和提供學術信息。整體架構如圖1所示,主要包括數據采集、數據清洗、數據消歧和數據質量評測模塊。
2.1" 數據采集
數據源來自兩部分,一是網絡爬蟲程序,用于收集各個學術站點的網頁信息,將這些網頁信息存儲在HBase中。另一部分是離線文件,其中部分學術站點提供了元數據的離線下載地址,下載后經過清洗可以用于豐富學術核心庫。
2.2" 數據清洗
使用PySpark對采集到的網頁數據和離線文件進行清洗,將它們轉換為具有標準結構的數據(schema格式)。隨后,這些清洗后的數據會被存儲到學術核心庫中,其中會有兩份副本,一份存儲在HDFS上用于后續(xù)的數據消歧,另一份存儲在Elasticsearch(ES)中主要用于問題定位和案例修復。
2.3" 數據消歧
此階段主要任務是將來自多個不同來源的數據融合在一起,以提高數據的完整性和質量。這有助于確保數據的一致性和準確性。
2.4" 數據質量評測
數據質量評測是一個關鍵的環(huán)節(jié),通過對學術數據的質量差異進行評估,可以幫助識別數據質量問題,驗證研究結果的可重復性,以及監(jiān)測學術數據的變化。只有通過質量評測的數據才能被認為合格,并被允許上線使用。
這個流程的主要目標是確保從不同來源獲取的數據經過清洗和消歧之后,具備高質量、一致性和可用性,以滿足學術研究的需求。
3" 學術聚合系統(tǒng)實現
3.1" 編程環(huán)境
在Windows 11操作系統(tǒng)下設置開發(fā)環(huán)境,使用Miniconda作為包管理器,并安裝了Python 3.9.16環(huán)境。選擇PyCharm Community版本作為集成開發(fā)環(huán)境(IDE)。在PyCharm中,創(chuàng)建項目,并成功安裝了重要的Python依賴包,包括Requests、lxml和PySpark,如圖2所示。這些依賴包的安裝是為支持項目和開發(fā)工作。最終,建立了一個功能齊全的開發(fā)環(huán)境,可以開始進行Python編程和相關項目的開發(fā)。
3.2" 學術站點數據爬取
3.2.1" 獲取網站信息
要爬取整個學術網站,首先需要獲取網站的所有落地頁鏈接。以“semantic”為例,獲取全站鏈接的步驟為:
首先,在瀏覽器的地址欄中輸入學術網站的根域名,然后在后面加上“/robots.txt”,以查看網站的robots.txt文件。這個文件包含了網站允許爬蟲訪問的鏈接信息,如圖3所示。在robots.txt文件中,你可以找到網站提供的不同類型鏈接,如作者、論文和主題相關的鏈接。這可以幫助你了解網站的結構和可以訪問的內容。
其次,你可以打開論文相關的鏈接,如圖4所示。通常每個鏈接中都包含大量論文的落地頁鏈接。這些鏈接大概包含3萬篇論文的鏈接地址,如圖5所示。
最后,一旦獲得了這些鏈接,就可以開始編寫爬蟲程序,以獲取網頁內容或接口數據,進一步處理和分析這些數據。
這些鏈接的獲取是爬取學術網站數據的關鍵步驟,它們提供了訪問網站內容的入口點。有了這些鏈接,就可以有選擇地獲取特定類型的數據,如論文信息、作者信息等。
3.2.2" 網站爬取的代碼實現
使用Python語言爬取學術網站(Semantic Scholar)的網站地圖(Sitemap)上的鏈接,并將這些鏈接保存到名為“semantic_url.txt”的文本文件中。導入Requests庫,用于發(fā)送HTTP請求和獲取網頁內容。導入re庫,用于正則表達式匹配。定義要訪問的學術網站地圖的URL,這個URL包含了一系列論文的鏈接。使用Requests庫發(fā)送GET請求來獲取指定URL的網頁內容,并將響應存儲在resp變量中。使用正則表達式(lt;locgt;(.*?)lt;/locgt;)從響應文本中提取包含在lt;locgt;標簽內的鏈接。這將創(chuàng)建一個包含所有鏈接的列表links。打開一個名為“semantic_url.txt”的文本文件以供寫入,如果文件不存在則創(chuàng)建它。mode=‘a'表示以追加模式打開文件,這意味著如果文件已經存在,新的鏈接將追加到文件末尾。迭代處理從網頁中提取的鏈接列表。將每個鏈接寫入到文本文件中,每個鏈接之間用換行符分隔,以便每個鏈接占據一行。網站爬取的代碼實現如下所示:
import requests
import re
url =“https://www.semanticscholar.org/sitemap-paper-0000000.xml”
resp = requests.get(url)
links = re.findall(‘lt;locgt;(.*?)lt;/locgt;', resp.text)
with open(‘./data/semantic_url.txt', mode=‘a', encoding=‘utf-8') as f:
for link in links:
f.write(link + “\n”)
3.2.3" 學術系統(tǒng)爬蟲架構
如圖6所示,學術系統(tǒng)爬蟲架構中,一旦獲取到學術落地頁鏈接,這些鏈接將被存儲在一個名為Redis集合的數據結構中。這里的Redis是一個高性能內存數據庫,用于存儲這些鏈接。爬蟲程序自動從Redis集合中領取爬取任務,這些任務包括要爬取的網頁鏈接。爬取程序會嘗試訪問這些鏈接,如果爬取成功,它會將網頁信息存儲在Hbase網頁庫中,以供后續(xù)的處理和分析。如果爬取失敗,爬蟲程序會自動將失敗的URL重新放回到Redis中,等待下次重新嘗試爬取。這個架構允許爬蟲系統(tǒng)高效地管理爬取任務,確保盡可能多的頁面被成功抓取,并具有自動重試機制以處理爬取失敗的情況。這有助于保持數據的完整性和質量。
3.3" 數據清洗
在對學術網頁或離線數據進行清洗之前,首先需要定義學術數據的結構,這就是所謂的schema,即數據的結構和組織方式[10]。這個schema應該明確定義了不同類型的學術數據,包括期刊、會議、學位論文、專利和報告等,如表1所示。這個schema描述了數據包括的字段,以及字段的數據類型和結構。
在數據清洗過程中,將原始學術數據按照預定義的schema(數據結構)進行整理。每一篇學術文章都會被處理成一條JSON格式的數據記錄。需要特別注意的是,一些字段可能包含復雜的結構,但將按照數據樣例的實際情況來清洗這些數據。清洗的結果應該符合定義的數據結構,以確保數據的一致性和可用性。可以讓數據更容易存儲、分析和應用。
使用Pyspark進行數據清洗,關鍵代碼下所示:
class BaseProcess:
@staticmethod
def process(html_data):
url = html_data[\"url\"]
content = html_data[\"html\"]
data = {}
data[\"url\"] = url
BaseProcess.gen_id(data)
obj = etree.HTML(content)
BaseProcess.extract_title(obj, xpath_dict.get(\"title\"), data)
BaseProcess.extract_summary(obj, xpath_dict.get(\"summary\"), data)
BaseProcess.extract_author(obj, xpath_dict.get(\"author\"), data)
BaseProcess.extract_citations(obj, xpath_dict.get(\"citations\"), data)
BaseProcess.extract_periodical(obj, periodical_dict, data)
BaseProcess.extract_doi(obj, xpath_dict.get(\"doi\"), data)
BaseProcess.extract_downloadLink(obj, xpath_dict.get(\"downloadLink\"), data)
BaseProcess.extract_issn(obj, xpath_dict.get(\"issn\"), data)
BaseProcess.extract_year(obj, xpath_dict.get(\"year\"), data)
BaseProcess.extract_keywords(obj, xpath_dict.get(\"keywords\"), data)
return data
if __name__ == '__main__':
current_date = time.strftime(\"%Y%m%d\")
print(current_date)
sc = SparkContext(appName=\"academic\")
input_hdfs = \"/data/html_data_20231003\"
save_hdfs = f\"/data/academic_data_{current_date}\"
sc.textFile(input_hdfs).map(json.loads).map(BaseProcess.process).map(json.dumps).saveAsTextFile(save_hdfs)
經過清洗的數據示例如下所示:
{
\"url\": \"https://link.springer.com/article/10.1007/s40544-022-0726-2\",
\"id\": \"f6a3a5d2e8bfb2d1ce47d3851c0cba75\",
\"title\": \"Achieving near-infrared-light-mediated switchable friction regulation on MXene-based double network hydrogels\",
\"summary\": \"MXene possesses great potential in enriching the functionalities of hydrogels due to its unique metallic conductivity…...\",
\"author\": [
{
\"name\": \"Pengxi Wu\"
},
{
\"name\": \"Cheng Zeng\"
},
{
\"name\": \"Jinglun Guo\"
},
{
\"name\": \"Guoqiang Liu\"
},
{
\"name\": \"Feng Zhou\"
},
{
\"name\": \"Weimin Liu\"
}
],
\"citations\": 2,
\"periodical\": {
\"name\": \"Friction\",
\"volume\": \"12\",
\"issue\": \"1\",
\"pages\": \"39-51\",
\"year\": 2023
},
\"doi\": \"10.1007/s40544-022-0726-2\",
\"downloadLink\": [
\"https://link.springer.com/content/pdf/10.1007/s40544-022-0726-2.pdf\"
],
\"issn\": \"2223-7704\",
\"year\": 2023,
\"keywords\": [
\"Mechanical Engineering\",
\"Nanotechnology\",
\"Tribology, Corrosion and Coatings\",
\"Physical Chemistry\",
\"Surfaces and Interfaces, Thin Films\"
]
}
3.4 數據消歧和融合
學術論文數據來自各個站點,每個站點的數據質量參差不齊,如何從多源數據提煉出高質量的數據供用戶檢索使用是聚合系統(tǒng)的核心。而數據消歧是一種有效的解決辦法,數據消歧在搜索引擎的數據開發(fā)中具有重要的作用,它有助于提高搜索結果的準確性、提高搜索效率、提供一致的用戶體驗、降低數據誤解的風險,并支持數據的可信度和個性化推薦。這是搜索引擎提供高質量信息檢索服務的關鍵環(huán)節(jié)之一。文本采用的消歧策略如圖7所示。如果兩篇文章的標題不同,那么它們可以被確定為不同的文章,不需要進行消歧處理。但是,當兩篇文章的標題相同時,當兩篇文章的標題相同時需要進一步判斷是否滿足消歧條件,用于區(qū)分相同標題的不同文章,以確保數據的準確性和唯一性。
具體步驟如下:
1)使用PySpark從HDFS中讀取學術數據,并將其加載為JSON格式的數據。
2)使用文章標題作為關鍵字段進行數據聚合。如果有相同標題的文章,需要進一步判斷它們是否是同一篇文章。如果是同一篇文章,將它們合并為一篇新的文章,繼續(xù)聚合。
3)重復步驟2),一直持續(xù)聚合,直到所有文章都被正確聚合。
4)此時,不同來源的相同文章已經聚合在一起。接下來,需要從多源數據中選擇最終的數據,這個過程被稱為數據融合。融合的策略是基于站點的權重和投票來確定最終數據。
5)融合后的待發(fā)布數據將被保存到HDFS和Elasticsearch(ES)中,各有一份副本。
6)對待發(fā)布數據進行質量評測。只有通過質量評測的數據才能夠上線使用,以確保數據的準確性和可用性。
4" 結" 論
在研究中,探討了Python爬蟲技術在學術聚合系統(tǒng)中的應用,旨在提供研究者便捷的學術資源獲取途徑。爬蟲技術作為搜索引擎和信息網站數據獲取的核心技術之一,為構建這一系統(tǒng)提供了強有力的工具。通過專用的網絡爬蟲,能夠高效地從學術網站上抓取大量有用的學術數據,為學術研究提供了寶貴的信息資源。在研究中,不僅實現了數據的高效抓取,還利用大數據技術手段對爬取的學術數據進行了清洗、聚合和消歧。這些步驟不僅有助于提高數據質量,還確保了數據的一致性和可用性。
參考文獻:
[1] 巫偉峰,張群英.基于互聯網學術搜索引擎分析國內樹莓研究現狀——以“百度學術”為例 [J].安徽農學通報,2019,25(14):50-52.
[2] 聶莉娟,方志偉,李瑞霞.基于Scrapy框架的網絡爬蟲抓取實現 [J].軟件,2022,43(11):18-20.
[3] 文獻管理工具——Zotero簡介 [J].華西口腔醫(yī)學雜志,2022,40(5):609.
[4] 楊健,陳偉.基于Python的三種網絡爬蟲技術研究 [J].軟件工程,2023,26(2):24-27+19.
[5] 郭晉豫.基于Spark Streaming的反爬蟲系統(tǒng)的設計與實現 [D].西安:西安電子科技大學,2021.
[6] 時春波,李衛(wèi)東,秦丹陽,等.Python環(huán)境下利用Selenium與JavaScript逆向技術爬蟲研究 [J].河南科技,2022,41(10):20-23.
[7] 郎為民,李宇鴿,田尚保,等.大數據處理技術研究 [J].電信快報,2022(4):1-6+12.
[8] 曹麗蓉.基于HBase數據庫的數據分布式存儲方法 [J].蘭州工業(yè)學院學報,2022,29(5):46-50.
[9] 姜慶玲,張樊.基于Python和Requests快速獲取網頁數據的方法研究 [J].現代信息科技,2023,7(16):100-103+108.
[10] 李琳,董博,鄭玉巧.大型風力機異常功率數據清洗方法 [J].蘭州理工大學學報,2022,48(3):65-70.
作者簡介:崔夢銀(1993.05—),女,漢族,河南商丘人,教師,碩士,研究方向:數據分析與數據挖掘;鄧茵(2002.11—),女,漢族,廣東廉江人,本科在讀,研究方向:數據挖掘與分析;劉滿意(1992.04—),男,漢族,河南商丘人,軟件工程師,碩士,研究方向:數據分析與數據挖掘。