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

基于Octoparse的IPE環(huán)境數(shù)據(jù)采集

2022-05-09 13:53:20弓麗棟尹建華
關(guān)鍵詞:企業(yè)

弓麗棟,尹建華

(1.中國能源建設(shè)集團(tuán),北京 100022;2.對(duì)外經(jīng)濟(jì)貿(mào)易大學(xué),北京 100029)

0 引 言

任何科學(xué)研究的開展,不論是自然科學(xué)的實(shí)驗(yàn)研究還是社會(huì)科學(xué)中的實(shí)證研究,都擺脫不了對(duì)數(shù)據(jù)的依賴,甚至在個(gè)別情景中,研究數(shù)據(jù)的質(zhì)量更是決定研究成敗的關(guān)鍵[1-3]。然而,在社會(huì)科學(xué)領(lǐng)域,隨著對(duì)傳統(tǒng)數(shù)據(jù)庫(Wind、CSMAR、RESSET等)的大眾化普及和過度使用,尤其是在驗(yàn)證新興領(lǐng)域或開拓性的研究問題時(shí),單一的數(shù)據(jù)來源越來越難以滿足科研人員的需求。在步入移動(dòng)互聯(lián)時(shí)代后,豐富的Web資源為各類研究學(xué)者提供了獲取數(shù)據(jù)的備擇通道,得益于數(shù)據(jù)采集技術(shù)的普及,大量研究開始逐漸采用此類數(shù)據(jù)[4-7]。

事實(shí)上,傳統(tǒng)的數(shù)據(jù)采集技術(shù)不但要求操作者需擁有較為專業(yè)的編程技能,還應(yīng)對(duì)Web標(biāo)準(zhǔn)有較為深入的理解。比如目前主流的Python語言,作為一種直譯式計(jì)算機(jī)程序設(shè)計(jì)語言[8-10],在數(shù)據(jù)爬蟲的過程中,要求科研人員了解通常的選擇語句、循環(huán)語句,且對(duì)網(wǎng)站架構(gòu)有基礎(chǔ)理解,明確采集字段的XPath。因而對(duì)初學(xué)者來講門檻較高,不易使用。相較于以上采集技術(shù),Octoparse作為一種通用的Web數(shù)據(jù)采集器,可以模擬人訪問的Web采集這一做法,將程序代碼封裝在指令集中,大大降低了對(duì)編程的依賴性,能夠?qū)eb頁面中的任何可見內(nèi)容進(jìn)行采集,實(shí)現(xiàn)所見即所得。此外,Octoparse的數(shù)據(jù)導(dǎo)出功能可以較好配比目前主流的數(shù)據(jù)格式(如xls、xlsx、Mysql等),可以兼容主流數(shù)據(jù)分析軟件。

該文以公眾環(huán)境研究中心(以下簡稱IPE)為實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)例采集,是由于該網(wǎng)站作為國內(nèi)首家運(yùn)營企業(yè)環(huán)境信息披露的非政府組織,在學(xué)術(shù)界具有良好的受眾基礎(chǔ),其所披露的企業(yè)環(huán)保處罰數(shù)據(jù)具有權(quán)威性、完備性以及較為規(guī)則的數(shù)據(jù)格式,是科研人員理想的數(shù)據(jù)采集網(wǎng)站[4,11]。該文設(shè)計(jì)的基于Octoparse數(shù)據(jù)采集技術(shù)的方案,可以通過模擬人工手動(dòng)采集過程,為編程基礎(chǔ)薄弱、不熟悉網(wǎng)站架構(gòu)以及數(shù)據(jù)采集規(guī)則的社會(huì)科學(xué)研究人員提供一種較為理想的數(shù)據(jù)獲取途徑。

1 Octoparse數(shù)據(jù)采集

1.1 采集原理與流程

Web數(shù)據(jù)采集(Web Scraping)是指從網(wǎng)站上提取信息的一種計(jì)算機(jī)軟件技術(shù)[4]。Web數(shù)據(jù)采集程序模擬瀏覽器的行為,能將任何可以在瀏覽器上顯示的數(shù)據(jù)提取出來,因此也稱為屏幕采集(Screen Scraping)[12-13]。Web數(shù)據(jù)采集的最終目的是將非結(jié)構(gòu)化的信息從大量的網(wǎng)頁中抽取出來以結(jié)構(gòu)化的方式存儲(chǔ)(CSV、JSON、XML、Access、Mssql、Mysql等)[14]。簡而言之,Web數(shù)據(jù)采集就是從指定網(wǎng)站采集所需的非結(jié)構(gòu)化信息數(shù)據(jù),分析處理后存儲(chǔ)為統(tǒng)一格式的本地?cái)?shù)據(jù)文件或直接存入本地?cái)?shù)據(jù)庫中[8]。

如圖1所示,Octoparse是一種基于C#的、運(yùn)行在Windows系統(tǒng)客戶端的Web數(shù)據(jù)采集工具,分為兩個(gè)模塊,分別為數(shù)據(jù)采集模塊和數(shù)據(jù)導(dǎo)出模塊,其采集對(duì)象包括政府政務(wù)網(wǎng)站、企業(yè)官網(wǎng)、電商、社交媒體、科研等各個(gè)領(lǐng)域。數(shù)據(jù)采集模塊主要承擔(dān)數(shù)據(jù)采集任務(wù)的配置和管理,可自動(dòng)識(shí)別信息采集的列表進(jìn)行遍歷,通過在采集規(guī)則中自定義cookie字段或登錄字段可將cookie一起投送到服務(wù)端;數(shù)據(jù)導(dǎo)出模塊負(fù)責(zé)將采集到的HTML數(shù)據(jù)進(jìn)行預(yù)處理并以結(jié)構(gòu)化的形式導(dǎo)出至本地,其導(dǎo)出格式包括Excel、SQL、TXT、MYSQL等。

圖1 Octoparse采集示意圖

Octoparse的整個(gè)采集過程分為以下三個(gè)階段:(1)使用requests訪問并定位采集內(nèi)容位置;(2)采用Xpath解析并采集內(nèi)容;(3)使用pandas將采集后的數(shù)據(jù)保存到xls、CSV以及MySQL等數(shù)據(jù)庫中。在第1個(gè)階段中,需新建采集任務(wù),并打開網(wǎng)站;在第2個(gè)階段中,需通過點(diǎn)擊元素(包括文字、圖片、按鈕、鏈接等)進(jìn)行采集、單擊或創(chuàng)建循環(huán)等;在第3個(gè)階段中,確認(rèn)采集內(nèi)容。在應(yīng)對(duì)復(fù)雜的采集對(duì)象時(shí),還可綜合采用輸入文字、驗(yàn)證碼識(shí)別、下拉菜單以及設(shè)定判斷條件等,進(jìn)行個(gè)性化采集。

1.2 采集優(yōu)勢(shì)與不足

不同于其他計(jì)算機(jī)語言,Octoparse通過模擬人的思維操作方式,將整個(gè)采集流程進(jìn)行代碼封裝,并通過精準(zhǔn)定位網(wǎng)頁源碼中各個(gè)數(shù)據(jù)的XPath與正則表達(dá),實(shí)現(xiàn)對(duì)目標(biāo)數(shù)據(jù)的可視化采集。這不僅最大限度地降低了編程門檻、減少了科研人員的Web知識(shí)儲(chǔ)備(Html和HTTP協(xié)議),而且規(guī)避了傳統(tǒng)采集程序的盲視操作,擁有所見即所得的采集優(yōu)勢(shì)。表1列示了Octoparse在數(shù)據(jù)采集過程中的優(yōu)勢(shì)和不足。

表1 Octoparse數(shù)據(jù)采集的優(yōu)勢(shì)和不足

具體地,相較于傳統(tǒng)計(jì)算機(jī)語言,Octoparse具有以下優(yōu)勢(shì):

(1)Octoparse采用模擬人的采集方式,利用程序訪問網(wǎng)頁,從目標(biāo)網(wǎng)頁提取數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行正則表達(dá),最后存儲(chǔ)到數(shù)據(jù)庫或者本地文件,通過可視化采集技術(shù),其自帶的條件分支、循環(huán)點(diǎn)擊等功能大幅降低了對(duì)操作者編程能力的要求;

(2)Octoparse采集系統(tǒng)擁有自有云計(jì)算平臺(tái),可以實(shí)現(xiàn)本地編碼+云端采集的并行采集,通過將采集任務(wù)部署到云計(jì)算服務(wù)器中,能夠在短時(shí)間內(nèi)能夠從不同網(wǎng)頁采集所需的結(jié)構(gòu)化數(shù)據(jù),擺脫對(duì)本地搜索及收集數(shù)據(jù)的依賴[15];

沒有什么比了解拍攝地更關(guān)鍵了。選擇一個(gè)離家比較近的地方,盡量在每種光照條件和季節(jié)中都多調(diào)查幾次。你會(huì)逐漸積累起重要的知識(shí),不僅可以得知在哪里能找到拍攝對(duì)象,還能了解光線變化的方式和機(jī)會(huì)較多的地方。

(3)Octoparse自帶的正則工具,可以利用正則表達(dá)式在采集數(shù)據(jù)的同時(shí)進(jìn)行初步數(shù)據(jù)清洗[16-17],將數(shù)據(jù)格式化,其方式包括去除(替換)特定字符、篩選日期、截取特定字符串等。

由于封裝了采集語句的指令集,操作者無法打開其內(nèi)部黑箱代碼,因此相較于Python、R等軟件,Octoparse在數(shù)據(jù)采集過程也會(huì)面臨以下不足:

(1)只適用于源碼數(shù)據(jù)格式較為統(tǒng)一的網(wǎng)頁,比如京東、淘寶、IPE等網(wǎng)頁架構(gòu)清晰、XPath定位明顯的網(wǎng)站;

(2)在少數(shù)翻頁循環(huán)的情形下,會(huì)出現(xiàn)無限循環(huán)翻頁前幾頁的情形,這是由于循環(huán)結(jié)束時(shí)的XPath設(shè)定不合理導(dǎo)致;

(3)個(gè)別待采集的數(shù)據(jù),其XPath需手動(dòng)配置,這需要一定HTML基礎(chǔ)知識(shí)。

2 基于Octoparse的數(shù)據(jù)采集實(shí)例

本實(shí)例中采集對(duì)象為京津冀、長三角、珠三角總計(jì)758家的廢水國控重點(diǎn)污染監(jiān)控企業(yè),采集時(shí)間段為2004~2017年,采集內(nèi)容包括:企業(yè)名稱、年份以及對(duì)應(yīng)年份的企業(yè)監(jiān)管記錄條數(shù)共三類主要信息。這需要遍歷758家企業(yè)在IPE上的URL,并依次采集其2004年至2017年間所有的監(jiān)管記錄條數(shù)和對(duì)應(yīng)年份,總計(jì)約6 000多頁數(shù)據(jù)。

2.1 企業(yè)URL采集

IPE公眾環(huán)境研究中心的網(wǎng)頁具有結(jié)構(gòu)化、便于采集等優(yōu)點(diǎn),以上優(yōu)點(diǎn)可以保證僅使用一套采集規(guī)則便可完成所有數(shù)據(jù)采集。

在Web數(shù)據(jù)采集之前,首先需確定目標(biāo)網(wǎng)站(網(wǎng)址),圖2為企業(yè)網(wǎng)址搜集流程。以該文所采集的廢水國控重點(diǎn)監(jiān)控企業(yè)為例,在此基礎(chǔ)上,采用IPE公眾環(huán)境研究中心的數(shù)據(jù)服務(wù)中提供的批量檢索功能,可以配對(duì)企業(yè)URL。但需注意的是,IPE公眾環(huán)境研究中的初步檢索結(jié)果中,包含大量模糊檢索的結(jié)果。具體的,對(duì)同一名稱的企業(yè)單位,一是可能檢索到具有相同關(guān)鍵詞的其他企業(yè),如:搜索“江蘇陽光集團(tuán)有限公司”,卻出現(xiàn)“山東凱翔陽光集團(tuán)有限公司”;二是檢索到同一單位下不同的廠部,如:檢索“依利安達(dá)(廣州)電子有限公司”,結(jié)果中卻包含“依利安達(dá)(廣州)電子有限公司(西區(qū))”;三是出現(xiàn)個(gè)別單位名稱的錯(cuò)拼、漏拼甚至繁體簡體互換,如:“瀚宇博德科技(江陰)有限公司”。對(duì)第一類結(jié)果,進(jìn)行了直接刪減、剔除;對(duì)第二類結(jié)果,進(jìn)行了合并;對(duì)第三類結(jié)果,在經(jīng)過企業(yè)地址比對(duì)確認(rèn)之后,進(jìn)行了修正整合。

圖2 企業(yè)網(wǎng)址檢索流程

2.2 數(shù)據(jù)采集

如圖3所示,在獲取所有企業(yè)URL隊(duì)列之后,便可開始采集數(shù)據(jù),本例中的企業(yè)監(jiān)管記錄數(shù)據(jù)需使用一對(duì)嵌套循環(huán)進(jìn)行循環(huán)采集:如圖3中箭頭(1)所示,第一個(gè)母循環(huán)為企業(yè)URL列表循環(huán),網(wǎng)址來源于圖2中所遍歷并儲(chǔ)存的所有企業(yè)網(wǎng)址;如圖3-A1中箭頭(2)所示,第二個(gè)子循環(huán)嵌套于第一個(gè)循環(huán)中,并對(duì)上述每個(gè)企業(yè)的監(jiān)管記錄數(shù)據(jù)進(jìn)行以年份為list的循環(huán)采集,采集對(duì)象包括企業(yè)名稱(冀東水泥扶余有限責(zé)任公司)、監(jiān)管年份(2017、2010)以及監(jiān)管條數(shù)(1、1)。圖3-A3為相對(duì)應(yīng)的數(shù)據(jù)采集流程圖:循環(huán)(1)在于建立URL列表循環(huán),此步操作需在Octoparse的循環(huán)打開列表中添加全部758個(gè)URL,用于模擬人訪問每個(gè)企業(yè)網(wǎng)址;在循環(huán)(2)中,需循環(huán)采集2004至2017年的所有監(jiān)管記錄,每次采集內(nèi)容包括企業(yè)名稱以及l(fā)ist文本框中的所有字段,即圖3-A1中的“2017(1)”和“2010(1)”,這樣在完成一次循環(huán)采集后,可保證采集到所有年份的數(shù)據(jù)。

需注意的是,由于該兩組數(shù)據(jù)同處于一個(gè)list文本框中,在提取數(shù)據(jù)字段之后,需要添加一步正則表達(dá),將字段“2017(1)”分離為“2017”以及“1”兩組數(shù)據(jù),該步驟即可在Octoparse中完成,也可在后期數(shù)據(jù)導(dǎo)出至Excel之后使用分欄完成。

對(duì)以上規(guī)則進(jìn)行配置之后,啟動(dòng)運(yùn)行Octoparse數(shù)據(jù)采集。表2展示了本采集方案下所采集到的部分?jǐn)?shù)據(jù)。但囿于原始數(shù)據(jù)的披露情況,最終采集的企業(yè)污染違規(guī)數(shù)據(jù)格式并非平衡面板,因而在后期的研究過程中需對(duì)其進(jìn)行再清洗和整理。需注意的是,目前大多數(shù)主流網(wǎng)站均采用了一定的規(guī)則和特定算法構(gòu)建了反爬蟲機(jī)制[18-19],為應(yīng)對(duì)上述挑戰(zhàn),可適當(dāng)設(shè)置訪問間隔,在循環(huán)打開下一個(gè)網(wǎng)頁時(shí),設(shè)定大約5 s~8 s左右的時(shí)間隔斷,避免頻繁訪問網(wǎng)站而造成IP封鎖。

圖3 基于Octoparse的IPE企業(yè)監(jiān)管條數(shù)數(shù)據(jù)采集

表2 部分采集數(shù)據(jù)一覽

2.3 采集性能測(cè)試

實(shí)驗(yàn)機(jī)器為Thinkpad S2 2nd Gen,CPU為Intel? CoreTMi5-7200U 頻率2.50 GHz,內(nèi)存為Samsung DDR4 8 GB 頻率2 133 MHz,運(yùn)行環(huán)境為Win 10下Octoparse 6.4.3。

整個(gè)性能測(cè)試中,總計(jì)發(fā)生臨時(shí)暫停15次,24小時(shí)內(nèi)共采集到6 154條數(shù)據(jù)。表3分用網(wǎng)高峰中午時(shí)段和用網(wǎng)低谷凌晨時(shí)段的采集測(cè)試顯示,在一般網(wǎng)速時(shí)段(網(wǎng)速<1 MB/s),單位小時(shí)內(nèi)的平均采集信息361條,網(wǎng)頁采集數(shù)量71頁,二者均大約占較高網(wǎng)速時(shí)段(網(wǎng)速>2 MB/s)的所采條數(shù)和網(wǎng)頁的60%左右(分別為619條和114頁)。因此建議在采集過程中避開網(wǎng)路擁堵的高峰時(shí)段,必要時(shí)選擇在夜間或者凌晨運(yùn)行。

表3 IPE數(shù)據(jù)采集測(cè)試表

此外,還對(duì)比了Octoparse和Python對(duì)目標(biāo)網(wǎng)站的采集性能對(duì)比,圖4顯示,基于Octoparse的數(shù)據(jù)采集,雖然其數(shù)據(jù)采集速度比Python低出約10個(gè)百分點(diǎn),但連續(xù)采集過程中波動(dòng)性更低,采集速率更加穩(wěn)定。可以看出,該文所采用的采集方案具有一定優(yōu)勢(shì)。

圖4 數(shù)據(jù)采集性能對(duì)比

3 結(jié)束語

隨著各研究領(lǐng)域?qū)蒲袉栴}的不斷拓展和推進(jìn),科研人員日益增長的研究數(shù)據(jù)需要同日漸枯竭的傳統(tǒng)數(shù)據(jù)庫之間的矛盾,已經(jīng)成為橫亙?cè)诖蠖鄶?shù)研究學(xué)者心間的癥結(jié)。能否發(fā)掘最新的數(shù)據(jù)來源,以及可否獲取高質(zhì)量的研究數(shù)據(jù),業(yè)已成為影響科研工作能否繼續(xù)推進(jìn)的核心因素。在移動(dòng)互聯(lián)新時(shí)代,浩瀚的Web數(shù)據(jù)為廣大科研人員提供了最便捷、最有效的數(shù)據(jù)通道,但如何對(duì)其進(jìn)行高效且精準(zhǔn)的采集則是阻礙數(shù)據(jù)獲取的又一道壁壘。

有鑒于此,以IPE公眾環(huán)境研究中心為例,采用基于Octoparse數(shù)據(jù)采集技術(shù)的Web數(shù)據(jù)采集方案,不僅解決了傳統(tǒng)數(shù)據(jù)采集技術(shù)編程難的問題,而且簡化了采集流程,極大地提高了數(shù)據(jù)采集的效率和速度,特別是為專研環(huán)境保護(hù)、企業(yè)信息披露以及環(huán)境經(jīng)濟(jì)領(lǐng)域的專家學(xué)者,提供了一種可操作性強(qiáng)、可借鑒性高、可完全復(fù)制的數(shù)據(jù)采集思路,進(jìn)而可以為企業(yè)環(huán)境信息的分析、地方環(huán)境政策的評(píng)估以及區(qū)域環(huán)境經(jīng)濟(jì)的預(yù)測(cè)提供優(yōu)質(zhì)的數(shù)據(jù)支撐。

猜你喜歡
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
企業(yè)
敢為人先的企業(yè)——超惠投不動(dòng)產(chǎn)
主站蜘蛛池模板: 亚洲a免费| 玖玖免费视频在线观看| 国产主播福利在线观看| Jizz国产色系免费| 国产欧美日本在线观看| 国产欧美精品一区aⅴ影院| 欧美成在线视频| 色天堂无毒不卡| 人妻丰满熟妇av五码区| 欧美精品色视频| 欧美自慰一级看片免费| 亚洲天堂在线免费| 中文字幕在线日本| 国产激爽大片高清在线观看| 国产在线日本| 欧美一级高清片欧美国产欧美| 亚洲精品自产拍在线观看APP| 日日拍夜夜操| 99资源在线| 亚洲精品国产乱码不卡| 欧美色图久久| 欧美日韩综合网| jizz在线免费播放| 日韩精品免费在线视频| 精品综合久久久久久97超人| 国产极品嫩模在线观看91| 国产精品无码在线看| 熟妇无码人妻| 久久精品午夜视频| 精品无码人妻一区二区| 欧洲精品视频在线观看| 五月天香蕉视频国产亚| 亚欧乱色视频网站大全| 不卡无码网| 88国产经典欧美一区二区三区| 亚洲欧美日韩成人在线| 99re精彩视频| 九九久久精品国产av片囯产区| 久草青青在线视频| 免费在线国产一区二区三区精品| 日本高清免费不卡视频| 亚洲人成网线在线播放va| 高清视频一区| 亚洲第一区在线| 午夜福利网址| 久久国语对白| 一本无码在线观看| a级毛片一区二区免费视频| 亚洲人成网站色7777| 久久熟女AV| 成人无码一区二区三区视频在线观看| 亚洲欧美自拍一区| 亚洲色图另类| 国产欧美日韩在线一区| 亚洲国产欧美目韩成人综合| 欧美一区中文字幕| a欧美在线| 人妻丰满熟妇啪啪| 久久男人资源站| 久久伊人操| 91色在线观看| 韩国v欧美v亚洲v日本v| 老熟妇喷水一区二区三区| 国产aⅴ无码专区亚洲av综合网| 女人18毛片久久| 久一在线视频| 成人午夜精品一级毛片| 999在线免费视频| 91精品国产综合久久不国产大片| 国产成人免费手机在线观看视频| 国产一级做美女做受视频| 欧美亚洲国产精品第一页| 粉嫩国产白浆在线观看| 欧美一级高清视频在线播放| 精品国产99久久| 5555国产在线观看| 国产女人18毛片水真多1| 亚洲欧洲免费视频| 国产在线观看成人91| 国产视频只有无码精品| 精品伊人久久大香线蕉网站| 国产成人综合亚洲网址|