亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        弓麗棟,尹建華

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

        0 引 言

        任何科學(xué)研究的開(kāi)展,不論是自然科學(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ù)庫(kù)(Wind、CSMAR、RESSET等)的大眾化普及和過(guò)度使用,尤其是在驗(yàn)證新興領(lǐng)域或開(kāi)拓性的研究問(wèn)題時(shí),單一的數(shù)據(jù)來(lái)源越來(lái)越難以滿足科研人員的需求。在步入移動(dòng)互聯(lián)時(shí)代后,豐富的Web資源為各類研究學(xué)者提供了獲取數(shù)據(jù)的備擇通道,得益于數(shù)據(jù)采集技術(shù)的普及,大量研究開(kāi)始逐漸采用此類數(shù)據(jù)[4-7]。

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

        該文以公眾環(huán)境研究中心(以下簡(jiǎn)稱IPE)為實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)例采集,是由于該網(wǎng)站作為國(guó)內(nèi)首家運(yùn)營(yíng)企業(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ù)的方案,可以通過(guò)模擬人工手動(dòng)采集過(guò)程,為編程基礎(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ù)提取出來(lái),因此也稱為屏幕采集(Screen Scraping)[12-13]。Web數(shù)據(jù)采集的最終目的是將非結(jié)構(gòu)化的信息從大量的網(wǎng)頁(yè)中抽取出來(lái)以結(jié)構(gòu)化的方式存儲(chǔ)(CSV、JSON、XML、Access、Mssql、Mysql等)[14]。簡(jiǎn)而言之,Web數(shù)據(jù)采集就是從指定網(wǎng)站采集所需的非結(jié)構(gòu)化信息數(shù)據(jù),分析處理后存儲(chǔ)為統(tǒng)一格式的本地?cái)?shù)據(jù)文件或直接存入本地?cái)?shù)據(jù)庫(kù)中[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ò)在采集規(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è)采集過(guò)程分為以下三個(gè)階段:(1)使用requests訪問(wèn)并定位采集內(nèi)容位置;(2)采用Xpath解析并采集內(nèi)容;(3)使用pandas將采集后的數(shù)據(jù)保存到xls、CSV以及MySQL等數(shù)據(jù)庫(kù)中。在第1個(gè)階段中,需新建采集任務(wù),并打開(kāi)網(wǎng)站;在第2個(gè)階段中,需通過(guò)點(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ī)語(yǔ)言,Octoparse通過(guò)模擬人的思維操作方式,將整個(gè)采集流程進(jìn)行代碼封裝,并通過(guò)精準(zhǔn)定位網(wǎng)頁(yè)源碼中各個(gè)數(shù)據(jù)的XPath與正則表達(dá),實(shí)現(xiàn)對(duì)目標(biāo)數(shù)據(jù)的可視化采集。這不僅最大限度地降低了編程門(mén)檻、減少了科研人員的Web知識(shí)儲(chǔ)備(Html和HTTP協(xié)議),而且規(guī)避了傳統(tǒng)采集程序的盲視操作,擁有所見(jiàn)即所得的采集優(yōu)勢(shì)。表1列示了Octoparse在數(shù)據(jù)采集過(guò)程中的優(yōu)勢(shì)和不足。

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

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

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

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

        沒(méi)有什么比了解拍攝地更關(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ù)格式化,其方式包括去除(替換)特定字符、篩選日期、截取特定字符串等。

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

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

        (2)在少數(shù)翻頁(yè)循環(huán)的情形下,會(huì)出現(xiàn)無(wú)限循環(huán)翻頁(yè)前幾頁(yè)的情形,這是由于循環(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ì)象為京津冀、長(zhǎng)三角、珠三角總計(jì)758家的廢水國(guó)控重點(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多頁(yè)數(shù)據(jù)。

        2.1 企業(yè)URL采集

        IPE公眾環(huán)境研究中心的網(wǎng)頁(yè)具有結(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)址搜集流程。以該文所采集的廢水國(guó)控重點(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è),如:搜索“江蘇陽(yáng)光集團(tuán)有限公司”,卻出現(xiàn)“山東凱翔陽(yáng)光集團(tuán)有限公司”;二是檢索到同一單位下不同的廠部,如:檢索“依利安達(dá)(廣州)電子有限公司”,結(jié)果中卻包含“依利安達(dá)(廣州)電子有限公司(西區(qū))”;三是出現(xiàn)個(gè)別單位名稱的錯(cuò)拼、漏拼甚至繁體簡(jiǎn)體互換,如:“瀚宇博德科技(江陰)有限公司”。對(duì)第一類結(jié)果,進(jìn)行了直接刪減、剔除;對(duì)第二類結(jié)果,進(jìn)行了合并;對(duì)第三類結(jié)果,在經(jīng)過(guò)企業(yè)地址比對(duì)確認(rèn)之后,進(jìn)行了修正整合。

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

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

        如圖3所示,在獲取所有企業(yè)URL隊(duì)列之后,便可開(kāi)始采集數(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)址來(lái)源于圖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)打開(kāi)列表中添加全部758個(gè)URL,用于模擬人訪問(wèn)每個(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ù)格式并非平衡面板,因而在后期的研究過(guò)程中需對(duì)其進(jìn)行再清洗和整理。需注意的是,目前大多數(shù)主流網(wǎng)站均采用了一定的規(guī)則和特定算法構(gòu)建了反爬蟲(chóng)機(jī)制[18-19],為應(yīng)對(duì)上述挑戰(zhàn),可適當(dāng)設(shè)置訪問(wèn)間隔,在循環(huán)打開(kāi)下一個(gè)網(wǎng)頁(yè)時(shí),設(shè)定大約5 s~8 s左右的時(shí)間隔斷,避免頻繁訪問(wèn)網(wǎng)站而造成IP封鎖。

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

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

        2.3 采集性能測(cè)試

        實(shí)驗(yàn)機(jī)器為T(mén)hinkpad 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)頁(yè)采集數(shù)量71頁(yè),二者均大約占較高網(wǎng)速時(shí)段(網(wǎng)速>2 MB/s)的所采條數(shù)和網(wǎng)頁(yè)的60%左右(分別為619條和114頁(yè))。因此建議在采集過(guò)程中避開(kāi)網(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ù)采集過(guò)程中波動(dòng)性更低,采集速率更加穩(wěn)定??梢钥闯?,該文所采用的采集方案具有一定優(yōu)勢(shì)。

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

        3 結(jié)束語(yǔ)

        隨著各研究領(lǐng)域?qū)蒲袉?wèn)題的不斷拓展和推進(jìn),科研人員日益增長(zhǎng)的研究數(shù)據(jù)需要同日漸枯竭的傳統(tǒng)數(shù)據(jù)庫(kù)之間的矛盾,已經(jīng)成為橫亙?cè)诖蠖鄶?shù)研究學(xué)者心間的癥結(jié)。能否發(fā)掘最新的數(shù)據(jù)來(lái)源,以及可否獲取高質(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ù)編程難的問(wèn)題,而且簡(jiǎn)化了采集流程,極大地提高了數(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)
        丰满少妇爆乳无码专区| 国产一区内射最近更新| 人妻系列无码专区久久五月天| 国产又色又爽又刺激视频 | 久久精品人搡人妻人少妇 | 吸咬奶头狂揉60分钟视频| 国产精品白浆无码流出| 中文字幕乱码在线婷婷| 蜜桃视频插满18在线观看| 亚洲成av人片一区二区| 无码成人片一区二区三区| 久草视频在线视频手机在线观看| 开心五月天第四色婷婷| 精品久久久无码中字| 制服丝袜天堂国产日韩| av在线手机中文字幕| 日本国产亚洲一区二区| 日韩一卡2卡3卡4卡新区亚洲| 中文字幕久无码免费久久| 日日噜噜夜夜久久密挑| 激情综合五月开心婷婷| 国产精品一区二区久久不卡| 亚洲AV成人无码国产一区二区 | 97人妻碰免费视频| 美腿丝袜网址亚洲av| 色窝窝无码一区二区三区| 亚洲精品无码乱码成人| 亚洲精品国产品国语在线app| 日本女同视频一区二区三区| 97人伦影院a级毛片| 国产精品久久无码一区二区三区网| 国产精品视频一区二区三区,| 三上悠亚亚洲精品一区| 专干老肥熟女视频网站300部| 中文字幕在线码一区| 日本岛国视频在线观看一区二区| 久久久久人妻精品一区二区三区 | 青青草视频在线观看精品在线| 超碰97人人射妻| 国产欧美VA欧美VA香蕉在| 蜜桃视频中文字幕一区二区三区 |