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

網(wǎng)絡(luò)爬蟲在科技文獻(xiàn)檢索中的應(yīng)用

2021-06-07 07:09:49龍學(xué)磊田萌徐英王虹
現(xiàn)代信息科技 2021年24期

龍學(xué)磊 田萌 徐英 王虹

摘 ?要:科技文獻(xiàn)檢索貫穿于整個(gè)科研活動(dòng)的生命周期,從科研項(xiàng)目的申請(qǐng)、立項(xiàng),到方案的設(shè)計(jì)與實(shí)現(xiàn),再到論文的撰寫與結(jié)題驗(yàn)收,都離不開科技文獻(xiàn)檢索的支持,傳統(tǒng)的科技文獻(xiàn)檢索方式往往效率低下且準(zhǔn)確性不高。近些年,網(wǎng)絡(luò)爬蟲技術(shù)被廣泛應(yīng)用于互聯(lián)網(wǎng)搜索引擎當(dāng)中,可以按照預(yù)先設(shè)定好的規(guī)則自動(dòng)地抓取特定網(wǎng)站信息。文章主要介紹了如何使用網(wǎng)絡(luò)爬蟲技術(shù)實(shí)現(xiàn)科技文獻(xiàn)檢索,從而大大提高科技文獻(xiàn)檢索效率及準(zhǔn)確性,更好地為科研工作服務(wù)。

關(guān)鍵詞:科技創(chuàng)新;文獻(xiàn)檢索;網(wǎng)絡(luò)爬蟲;Python;Selenium

中圖分類號(hào):TP391 ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):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 ?引 ?言

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

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

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

傳統(tǒng)的檢索方式多采用手工操作的方式完成,由科研人員利用互聯(lián)網(wǎng)在搜索引擎中錄入想要獲得的關(guān)鍵字,然后對(duì)搜索結(jié)果進(jìn)行人工篩選,而海量數(shù)據(jù)帶來的“信息過載”問題,大大增加了科研人員的檢索時(shí)間,也降低了查找準(zhǔn)確性,嚴(yán)重影響了工作效率。

科技文獻(xiàn)檢索能力的高低,往往影響著科研成果的價(jià)值。每年的科研工作中會(huì)產(chǎn)生大量的科技文獻(xiàn)檢索需求,但受制于個(gè)人因素及技術(shù)限制,往往不能達(dá)到理想的效果。如何利用網(wǎng)絡(luò)爬蟲技術(shù)進(jìn)行科技文獻(xiàn)檢索,協(xié)助廣大科研工作者做好科研工作,就成為一個(gè)新的課題。

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

1.1 ?Python語言

Python是一種面向?qū)ο蟮膭?dòng)態(tài)數(shù)據(jù)類型腳本語言,不僅簡(jiǎn)潔、易用,而且功能強(qiáng)大[2],具有跨平臺(tái)性、開發(fā)效率高、開源、可移植性好并且支持非常豐富的第三方庫等的特點(diǎn)[3],現(xiàn)在廣泛應(yīng)用于科學(xué)計(jì)算與科學(xué)統(tǒng)計(jì)工作、人工智能開發(fā)、網(wǎng)絡(luò)爬蟲等方面。

1.2 ?Selenium工具

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

Selenium是Web應(yīng)用程序的自動(dòng)化測(cè)試工具[6],可以模擬網(wǎng)站自動(dòng)化測(cè)試、網(wǎng)站模擬登陸、自動(dòng)操作鍵盤和鼠標(biāo)、測(cè)試瀏覽器兼容性、測(cè)試網(wǎng)站功能等操作,就像模擬真實(shí)用戶的操作,在爬蟲中被廣泛使用[7]。

1.3 ?Chrome Driver瀏覽器驅(qū)動(dòng)

Chrome Driver是實(shí)現(xiàn) Web Driver 有線協(xié)議的一個(gè)開源工具,Selenium借助Chrome Driver通關(guān)操控Chrome的自動(dòng)代理框架控制瀏覽器,它提供了導(dǎo)航到網(wǎng)頁、用戶輸入、JavaScript執(zhí)行等的能力。

1.4 ?Python + Selenium + Chrome Driver瀏覽器爬蟲優(yōu)缺點(diǎn)

1.4.1 ?優(yōu)點(diǎn)

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

Python + Selenium + Chrome Driver瀏覽器爬蟲模擬瀏覽器的訪問操作,可以較好的執(zhí)行js運(yùn)行,當(dāng)遇到復(fù)雜的滑動(dòng)校驗(yàn)和需要登錄時(shí)都能實(shí)現(xiàn)滿意的爬取效果[9]。

1.4.2 ?缺點(diǎn)

使用selenium本質(zhì)上是驅(qū)動(dòng)瀏覽器對(duì)目標(biāo)站點(diǎn)發(fā)送請(qǐng)求,那瀏覽器在訪問目標(biāo)站點(diǎn)的時(shí)候,需要把靜態(tài)資源都加載完畢。html、css、js這些文件都要等待它加載完成,速度特別慢。由于在獲取頁面的過程中會(huì)發(fā)起多次交互請(qǐng)求,所以執(zhí)行效率較低。

2 ?網(wǎng)絡(luò)爬蟲在科技文獻(xiàn)檢索中的具體實(shí)現(xiàn)

2.1 ?爬取對(duì)象選取

知網(wǎng)已成為當(dāng)下廣大科研工作者進(jìn)行科技文獻(xiàn)查詢的首選網(wǎng)站,我們以此網(wǎng)站為爬取對(duì)象,通過知網(wǎng)檢索關(guān)鍵字,之后抓取相關(guān)文章的標(biāo)題、作者、摘要、關(guān)鍵詞等信息。

2.2 ?爬取原理

爬取原理具體內(nèi)容有:

(1)運(yùn)行Python腳本程序,調(diào)用Selenium測(cè)試工具啟動(dòng)Chrome Driver瀏覽器驅(qū)動(dòng),開始啟動(dòng)并開啟偵聽端口,并自動(dòng)創(chuàng)建session,保持瀏覽器和對(duì)應(yīng)客戶端的會(huì)話連接;

(2)輸入搜索條件,向?yàn)g覽器發(fā)送http請(qǐng)求;

(3)模擬瀏覽器運(yùn)行,將爬取結(jié)果記入到列表當(dāng)中;

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

2.3 ?具體實(shí)現(xiàn)

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

2.3.1 ?引入Selenium測(cè)試工具

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

2.3.2 ?啟動(dòng)Chrome Driver瀏覽器驅(qū)動(dòng)并完成初始化

啟動(dòng)Chrome Driver瀏覽器驅(qū)動(dòng)并完成初始化的具體步驟是:

(1)設(shè)置谷歌瀏覽器驅(qū)動(dòng)器的環(huán)境:

options = webdriver.ChromeOptions()

(2)創(chuàng)建一個(gè)谷歌瀏覽器驅(qū)動(dòng)器:

browser = webdriver.Chrome(options=options)

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

打開移動(dòng)端訪問頁面,按F12進(jìn)入到調(diào)試模式,通過分析找到輸入框及搜索按鈕id值分別為“keyword”和“btn-search”。

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

browser.find_element_by_id(‘keyword).click()

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

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

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

2.4 ?進(jìn)入二級(jí)頁面獲取詳細(xì)信息

使用find_element_by_class_name()方法獲取文獻(xiàn)的題目、作者、摘要等信息,并存儲(chǔ)到列表當(dāng)中。具體內(nèi)容有:

(1)獲取文獻(xiàn)的題目:

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

(2)獲取文獻(xiàn)的作者:

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

(3)獲取文獻(xiàn)的摘要:

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

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

data_dict = {}

data_dict [‘作者] = author

data_dict[‘題名] = name

data_dict[‘摘要] = content

data_dict[‘關(guān)鍵字] = key_worlds

data_dict[‘來源] = source

data_dict[‘發(fā)表時(shí)間] = datetime

(5)將獲得的所有存儲(chǔ)到列表當(dāng)中:

data_list.append(data)

2.5 ?將信息存入Excel文件

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

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

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

(2)聲明writer對(duì)象:

writer = csv.DictWriter(f, title)

(3)批量寫入數(shù)據(jù):

writer.writerows(data_list)

2.6 ?爬取信息展示

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

3 ?結(jié) ?論

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

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

參考文獻(xiàn):

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

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

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

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

[5] 夏克付,章曉勤.基于Selenium自動(dòng)化測(cè)試框架的數(shù)據(jù)驅(qū)動(dòng)技術(shù)研究及應(yīng)用 [J].齊齊哈爾大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,35(6):18-22.

[6] 蟲師.Selenium3自動(dòng)化測(cè)試實(shí)戰(zhàn)——基于Python語言 [M].北京:電子工業(yè)出版社,2019.

[7] 孫瑜.基于Scrapy框架的網(wǎng)絡(luò)爬蟲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].北京:北京交通大學(xué),2019.

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

[9] 樊濤,趙征,劉敏娟.基于Selenium的網(wǎng)絡(luò)爬蟲分析與實(shí)現(xiàn) [J].電腦編程技巧與維護(hù),2019(9):155-156+170.

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

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

主站蜘蛛池模板: 国产亚洲欧美在线视频| 亚洲国产精品不卡在线| 国产性生大片免费观看性欧美| 黄色免费在线网址| 91九色国产porny| 国产一级裸网站| 国产精品自拍合集| 免费a级毛片18以上观看精品| 欧美中文字幕在线二区| 亚洲成人福利网站| 国产精品女主播| 在线不卡免费视频| 免费一级全黄少妇性色生活片| 国产xx在线观看| 国产精品白浆在线播放| 视频二区国产精品职场同事| 99久久免费精品特色大片| 香蕉国产精品视频| 无码AV日韩一二三区| 亚洲 成人国产| 免费看的一级毛片| 国产精品lululu在线观看| 国产剧情无码视频在线观看| 久久精品国产一区二区小说| 国产精品久久久久久久久久98| 五月天丁香婷婷综合久久| 波多野结衣视频一区二区 | 日韩高清欧美| 99精品欧美一区| 国产www网站| 91亚洲视频下载| 中文字幕第1页在线播| 日韩欧美国产成人| 欧美日韩一区二区三区在线视频| 亚洲国产精品一区二区高清无码久久| 日本午夜影院| 一区二区自拍| 国产无码制服丝袜| 国产精品视频猛进猛出| 亚洲av片在线免费观看| 无遮挡一级毛片呦女视频| 午夜日b视频| 一区二区三区四区精品视频 | 免费高清毛片| 色天天综合| 72种姿势欧美久久久久大黄蕉| 精品人妻系列无码专区久久| 亚洲色图狠狠干| www中文字幕在线观看| 日韩欧美视频第一区在线观看| 福利一区在线| 婷婷久久综合九色综合88| 日韩二区三区| 在线一级毛片| 在线精品视频成人网| 亚洲综合久久一本伊一区| 日韩经典精品无码一区二区| 刘亦菲一区二区在线观看| 欧美日韩91| 国产女人在线| 亚洲精品成人福利在线电影| 强奷白丝美女在线观看| 国产香蕉在线| 亚洲清纯自偷自拍另类专区| 国产精品第一区在线观看| AV在线天堂进入| 日韩在线视频网| 欧美日韩专区| 国产成年女人特黄特色毛片免| 久久人体视频| 美臀人妻中出中文字幕在线| 日本高清视频在线www色| 国产一级无码不卡视频| 欧美日韩专区| 国产精品免费p区| 在线视频精品一区| 中国一级毛片免费观看| 国产一级裸网站| 国产精品原创不卡在线| 亚洲一区色| 亚洲国产91人成在线| 韩日午夜在线资源一区二区|