999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

網絡爬蟲在科技文獻檢索中的應用

2021-06-07 07:09:49龍學磊田萌徐英王虹
現代信息科技 2021年24期

龍學磊 田萌 徐英 王虹

摘 ?要:科技文獻檢索貫穿于整個科研活動的生命周期,從科研項目的申請、立項,到方案的設計與實現,再到論文的撰寫與結題驗收,都離不開科技文獻檢索的支持,傳統的科技文獻檢索方式往往效率低下且準確性不高。近些年,網絡爬蟲技術被廣泛應用于互聯網搜索引擎當中,可以按照預先設定好的規則自動地抓取特定網站信息。文章主要介紹了如何使用網絡爬蟲技術實現科技文獻檢索,從而大大提高科技文獻檢索效率及準確性,更好地為科研工作服務。

關鍵詞:科技創新;文獻檢索;網絡爬蟲;Python;Selenium

中圖分類號:TP391 ? ? ? 文獻標識碼:A文章編號:2096-4706(2021)24-0150-03

Abstract: Scientific and technological literature retrieval runs through the whole life cycle of scientific research activities. From the application and establishment of scientific research projects, to the design and implementation of schemes, then to the writing and final acceptance of papers, it is inseparable from the support of scientific and technological literature retrieval. The traditional scientific and technological literature retrieval methods are often inefficient and inaccurate. In recent years, web crawler technology is widely used in Internet search engines, which can automatically grab specific website information according to preset rules. This paper mainly introduces how to use web crawler technology to realize scientific and technological literature retrieval, thus greatly improve the efficiency and accuracy of scientific and technological literature retrieval and better serve for the scientific research work.

Keywords: science and technology innovation; literature retrieval; web crawler; Python; Selenium

0 ?引 ?言

科研工作大致可以分為四個基本步驟,即科研選題、資料收集、研究試驗、論文撰寫。每一步都離不開科技文獻檢索的支持,如果能夠掌握一種高效準確的科技文獻檢索方式,可以達到事半功倍的效果,確保科研工作順利開展。

科技文獻檢索是以現代信息檢索技術為核心,對科技文獻進行深層次分析和利用的技術,可以使科研人員從繁重的搜索分析工作中解脫出來,從海量的信息中獲得最想要的信息。

科技文獻檢索為科研人員的選題工作提供基礎保障,如果檢索一旦出現偏差將直接影響到科研項目的進度,甚至使整個科研項目走向失敗。精準的科技文獻檢索,可以使科研人員快速、準確的獲得自己所需的關鍵信息,大大節省搜集材料的時間,進而積極的推進整個科研項目進程[1]。

傳統的檢索方式多采用手工操作的方式完成,由科研人員利用互聯網在搜索引擎中錄入想要獲得的關鍵字,然后對搜索結果進行人工篩選,而海量數據帶來的“信息過載”問題,大大增加了科研人員的檢索時間,也降低了查找準確性,嚴重影響了工作效率。

科技文獻檢索能力的高低,往往影響著科研成果的價值。每年的科研工作中會產生大量的科技文獻檢索需求,但受制于個人因素及技術限制,往往不能達到理想的效果。如何利用網絡爬蟲技術進行科技文獻檢索,協助廣大科研工作者做好科研工作,就成為一個新的課題。

1 ?Python + Selenium + Chrome Driver瀏覽器爬蟲介紹

1.1 ?Python語言

Python是一種面向對象的動態數據類型腳本語言,不僅簡潔、易用,而且功能強大[2],具有跨平臺性、開發效率高、開源、可移植性好并且支持非常豐富的第三方庫等的特點[3],現在廣泛應用于科學計算與科學統計工作、人工智能開發、網絡爬蟲等方面。

1.2 ?Selenium工具

Selenium是ThoughtWorks公司專門為Web應用程序編寫的一個驗收測試工具,它直接運行在瀏覽器中,完全模擬瀏覽器的操作[4],比如跳轉、輸入、點擊、下拉等,通過代碼控制與頁面上元素進行交互(點擊、輸入等),獲取指定元素的內容。測試工程師可以使用多種開發語言如Java、C#、Python等來編寫測試腳本,并且能夠在多種不同的瀏覽器中執行測試腳本[5]。

Selenium是Web應用程序的自動化測試工具[6],可以模擬網站自動化測試、網站模擬登陸、自動操作鍵盤和鼠標、測試瀏覽器兼容性、測試網站功能等操作,就像模擬真實用戶的操作,在爬蟲中被廣泛使用[7]。

1.3 ?Chrome Driver瀏覽器驅動

Chrome Driver是實現 Web Driver 有線協議的一個開源工具,Selenium借助Chrome Driver通關操控Chrome的自動代理框架控制瀏覽器,它提供了導航到網頁、用戶輸入、JavaScript執行等的能力。

1.4 ?Python + Selenium + Chrome Driver瀏覽器爬蟲優缺點

1.4.1 ?優點

Python最常用的爬蟲框架為Scrapy框架,引擎控制調度器將request加入其中,調度器處理完成之后再送回引擎[8],但在模擬一些比較復雜的場景時,如輸入驗證碼、滑動驗證、登錄等操作時,無法解析js運行效果,無法達到最佳爬取效果。

Python + Selenium + Chrome Driver瀏覽器爬蟲模擬瀏覽器的訪問操作,可以較好的執行js運行,當遇到復雜的滑動校驗和需要登錄時都能實現滿意的爬取效果[9]。

1.4.2 ?缺點

使用selenium本質上是驅動瀏覽器對目標站點發送請求,那瀏覽器在訪問目標站點的時候,需要把靜態資源都加載完畢。html、css、js這些文件都要等待它加載完成,速度特別慢。由于在獲取頁面的過程中會發起多次交互請求,所以執行效率較低。

2 ?網絡爬蟲在科技文獻檢索中的具體實現

2.1 ?爬取對象選取

知網已成為當下廣大科研工作者進行科技文獻查詢的首選網站,我們以此網站為爬取對象,通過知網檢索關鍵字,之后抓取相關文章的標題、作者、摘要、關鍵詞等信息。

2.2 ?爬取原理

爬取原理具體內容有:

(1)運行Python腳本程序,調用Selenium測試工具啟動Chrome Driver瀏覽器驅動,開始啟動并開啟偵聽端口,并自動創建session,保持瀏覽器和對應客戶端的會話連接;

(2)輸入搜索條件,向瀏覽器發送http請求;

(3)模擬瀏覽器運行,將爬取結果記入到列表當中;

(4)判斷爬取是否完成,如果完成則終止腳本運行,如未完成則重復執行(3)中操作,如圖1所示。

2.3 ?具體實現

由于知網(http://www.cnki.net)采用反爬技術,無法正常獲取相關文章信息,只得選取移動端(http://wap.cnki.net/)作為網絡爬蟲的入口地址。

2.3.1 ?引入Selenium測試工具

使用“pip install selenium”安裝Selenium測試工具,并將相關頭文件放置在程序最開頭部分。

2.3.2 ?啟動Chrome Driver瀏覽器驅動并完成初始化

啟動Chrome Driver瀏覽器驅動并完成初始化的具體步驟是:

(1)設置谷歌瀏覽器驅動器的環境:

options = webdriver.ChromeOptions()

(2)創建一個谷歌瀏覽器驅動器:

browser = webdriver.Chrome(options=options)

(3)分析首頁信息,模擬搜索過程:

打開移動端訪問頁面,按F12進入到調試模式,通過分析找到輸入框及搜索按鈕id值分別為“keyword”和“btn-search”。

(4)找到輸入框的id,并將要搜索的關鍵字傳遞到輸入框當中

browser.find_element_by_id(‘keyword).click()

browser.find_element_by_id(‘keyword_ordinary).send_keys(key_words)

(5)輸入關鍵字之后,模擬點擊瀏覽器搜索按鈕事件

browser.find_element_by_class_name(‘btn-search ‘).click()

2.4 ?進入二級頁面獲取詳細信息

使用find_element_by_class_name()方法獲取文獻的題目、作者、摘要等信息,并存儲到列表當中。具體內容有:

(1)獲取文獻的題目:

name = div.find_element_by_class_name(‘c-company__body-title).text

(2)獲取文獻的作者:

author = div.find_element_by_class_name(‘c-company__body-author).text

(3)獲取文獻的摘要:

content = browser.find_element_by_class_name(‘c-card__aritcle).text

(4)聲明一個字典存儲爬取信息信息:

data_dict = {}

data_dict [‘作者] = author

data_dict[‘題名] = name

data_dict[‘摘要] = content

data_dict[‘關鍵字] = key_worlds

data_dict[‘來源] = source

data_dict[‘發表時間] = datetime

(5)將獲得的所有存儲到列表當中:

data_list.append(data)

2.5 ?將信息存入Excel文件

待信息收集完畢之后,將列表信息中文章的題目、作者、摘要、關鍵字、來源及發表時間等信息批量寫入到Excel文件當中。具體步驟是:

(1)調用open()方法,已寫入方式將信息寫入到data.cvs文件當中:

with open(‘data.csv, ‘w, encoding=utf-8, newline=) as f:

(2)聲明writer對象:

writer = csv.DictWriter(f, title)

(3)批量寫入數據:

writer.writerows(data_list)

2.6 ?爬取信息展示

使用本文方法爬取的部分文獻信息如圖2所示。

3 ?結 ?論

21世紀被譽為“知識爆炸”的時代,近百年來,人類創造的知識,特別是自然科學的知識,在短時期里以極高的速度增長起來,逐步改善著我們生活、學習的環境,越來越多的人投入到科學研究當中。科技文獻檢索伴隨整個科研的生命周期,一個好的科研項目從科研項目的申請、立項、方案的設計、試驗研究、數據的收集與分析到論文的撰寫都離不開科技文獻檢索的支持。隨著人才的不斷增長,科技文獻的數量急劇增加,如何從大量繁雜的文獻中快速準確地查找到所需文獻,成為現代人需具備的一項技能[10],能否熟練運用現代科技文獻檢索技能高效準確的獲取科研信息已成為科研成敗的關鍵。

文章主要介紹了如何使用Python + Selenium + Chrome Driver瀏覽器爬蟲對知網相關文獻進行智能檢索,并將爬取到的題目、作者、摘要、關鍵字、來源、發表時間等信息保存到Excel表當中,方便科研人員查詢。這種瀏覽器爬蟲可以按需自動下載相關文獻基礎信息,告別老式手工文件檢索方式,大大提高了科研人員科技文獻檢索的效率,為今后科研工作取得成功打下了堅實的基礎。

參考文獻:

[1] 韓玲.科技文獻檢索在科研選題中的重要作用 [J].江蘇科技信息,2019,36(33):11-13.

[2] 李剛.瘋狂Python講義 [M].北京:電子工業出版社,2018.

[3] 蔣程燕,孟令琴.基于Python語言的自動化測試應用實例 [J].工業控制計算機,2021,34(10):109-110+113.

[4] 羊昌燕,鄧印凱.基于Selenium的自動化測試框架設計 [J].信息技術與信息化,2021(10):65-68.

[5] 夏克付,章曉勤.基于Selenium自動化測試框架的數據驅動技術研究及應用 [J].齊齊哈爾大學學報(自然科學版),2019,35(6):18-22.

[6] 蟲師.Selenium3自動化測試實戰——基于Python語言 [M].北京:電子工業出版社,2019.

[7] 孫瑜.基于Scrapy框架的網絡爬蟲系統的設計與實現 [D].北京:北京交通大學,2019.

[8] 單艷,張帆.基于Python的網頁信息爬取技術研究 [J].電子技術與軟件工程,2021(14):238-239.

[9] 樊濤,趙征,劉敏娟.基于Selenium的網絡爬蟲分析與實現 [J].電腦編程技巧與維護,2019(9):155-156+170.

[10] 岳金鑫.論科技文獻檢索課程對本科生的必要性 [J].文化產業,2021(28):105-107.

作者簡介:龍學磊(1982—),男,漢族,河北秦皇島人,高級工程師,本科,研究方向:數據分析。

主站蜘蛛池模板: 日韩精品毛片人妻AV不卡| 日韩专区第一页| av无码一区二区三区在线| 亚洲国产综合精品中文第一| 无码网站免费观看| 99伊人精品| 欧美高清日韩| 婷婷亚洲最大| 99re在线免费视频| 欧美精品在线视频观看| 国产综合精品日本亚洲777| 国产精品无码影视久久久久久久| 欧美三级日韩三级| 亚洲国产成人超福利久久精品| 91啪在线| 欧美无遮挡国产欧美另类| 日本国产精品| 综1合AV在线播放| 欧美日韩在线亚洲国产人| 国产成人做受免费视频| 99激情网| 91娇喘视频| 99中文字幕亚洲一区二区| h视频在线观看网站| 精品国产Av电影无码久久久 | 麻豆精品在线视频| 天天做天天爱夜夜爽毛片毛片| 2021国产v亚洲v天堂无码| 亚洲品质国产精品无码| 欧美高清视频一区二区三区| 亚洲午夜福利精品无码不卡| 色综合狠狠操| 成人福利在线看| 全部无卡免费的毛片在线看| 亚洲AV电影不卡在线观看| 激情五月婷婷综合网| 91在线免费公开视频| 国产精品视频观看裸模| 亚洲欧州色色免费AV| av无码一区二区三区在线| 亚洲一区二区约美女探花| 亚洲成a人片在线观看88| 色135综合网| 99re在线免费视频| 不卡无码网| 最新无码专区超级碰碰碰| 天天色天天综合网| 五月婷婷亚洲综合| 婷婷综合亚洲| 国产视频资源在线观看| 午夜国产不卡在线观看视频| 国产精品亚洲一区二区在线观看| 亚洲IV视频免费在线光看| 午夜福利视频一区| 亚洲欧美日韩天堂| 久久精品丝袜高跟鞋| 亚洲一区免费看| 亚洲综合一区国产精品| 不卡网亚洲无码| 色婷婷亚洲综合五月| 欧美成人一级| 日韩高清欧美| 久久精品人人做人人综合试看| 国产欧美精品一区二区| 精品免费在线视频| 久久久久青草大香线综合精品| 国产无人区一区二区三区| 国产一区成人| 国产成人91精品| 美女亚洲一区| 久久6免费视频| 亚洲男人的天堂在线| 91啦中文字幕| 国产精品19p| 国产麻豆精品在线观看| 国产午夜一级毛片| 日本一区二区三区精品AⅤ| 国产精品99一区不卡| 白丝美女办公室高潮喷水视频| 亚洲视频黄| 国产国产人免费视频成18| 亚洲国产日韩一区|