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

        ?

        基于Scrapy和Kettle的對標城市政策文件庫建設

        2021-06-16 14:21:48王勝謝元平
        電子技術與軟件工程 2021年5期
        關鍵詞:爬蟲開源頁面

        王勝 謝元平

        (成都市經(jīng)濟發(fā)展研究院(成都市經(jīng)濟信息中心)信息技術與應用研究所 四川省成都市 610032)

        城市對標管理是一項系統(tǒng)性工作,涉及城市治理、社會發(fā)展方方面面,通過開展政策文件分析比較是學習先進城市經(jīng)驗做法,快速找出自身政策短板的有效途徑[1,2,3,4]。政策性文件是國家以權威形式發(fā)布的,規(guī)定一定歷史時期內(nèi)目標、任務及具體措施的文件?!吨腥A人民共和國政府信息公開條例》明確指出“行政法規(guī)、規(guī)章和規(guī)范性文件”屬于主動公開的政府信息,當前各級政府門戶網(wǎng)站都已按要求開設“文件”、“規(guī)劃”等欄目提供政策文件、規(guī)劃文本的查詢服務,這為政策性文件的獲取提供了保障及有效途徑。傳統(tǒng)的政策文件收集整理工作主要采取手工方式,效率較低且及時性較差。隨著網(wǎng)絡爬蟲技術的發(fā)展,通過互聯(lián)網(wǎng)直接采集各地政府網(wǎng)站政策文件,將極大提高信息搜集效率,并為政策研究提供更高的及時性。Scrapy 框架是一個較為成熟的開源網(wǎng)絡框架,基于該框架已開展了大量研究工作[5,6,7]以及行業(yè)應用。武虹等[8]通過采集互聯(lián)網(wǎng)上國內(nèi)外科技政策文件,提供了全文檢索、統(tǒng)計分析應用;李喬宇等[9]開展了農(nóng)業(yè)信息的爬取應用。Kettle 是一個開源的ETL 工具,提供了圖形化的用戶頁面,非常適合于開展數(shù)據(jù)清洗、數(shù)據(jù)整合應用。許皓皓等[10]利用Kettle 對氣象數(shù)據(jù)ETL 流程進行建模實現(xiàn)了氣象數(shù)據(jù)的實時同步和存儲;陳亞東等[11]開展了蘋果產(chǎn)業(yè)數(shù)據(jù)的整合應用;陳健等[12]開展了醫(yī)院數(shù)據(jù)的集成研究;崔記東[13]、程子傲等[14]將Kettle 集成到數(shù)據(jù)整合、數(shù)據(jù)交換平臺中取得了不錯的效果。通過使用開源工具,能夠減少開發(fā)成本,非常適合與本文所關注的對標城市政策文件庫這樣的輕量級應用。

        本研究基于Scrapy 框架設計網(wǎng)絡爬蟲,采集17 個對標城市(地區(qū))政府網(wǎng)站下50 多個欄目的政策文件,利用Kettle 設計開發(fā)ETL 程序,對采集的原始政策文件進行信息結構化處理、去除重復等數(shù)據(jù)清洗操作,并通過開發(fā)前端查詢、檢索應用,形成面向成都市的服務于研究咨詢行業(yè)的對標城市政策文件庫應用。

        1 需求分析及方案設計

        1.1 需求分析

        成都是副省級城市、國家中心城市,成都市的對標對象為其他國家中心城市及副省級城市。城市對標工作不僅僅是比較城市之間的經(jīng)濟指標、查找發(fā)展差距,還需要深層次分析背后的發(fā)展規(guī)律。各類政策文件能夠較全面的展示各地在經(jīng)濟發(fā)展、城市管理、社會治理上的經(jīng)驗做法,為更好的開展城市之間政策對比分析,學習先進經(jīng)驗做法,有必要建立對標城市政策文件庫,服務于對標管理工作。

        目前在開展城市之間政策對比分析時,主要采用人工搜索方式,不僅效率低下,而且無法起到政策監(jiān)測目的。隨著網(wǎng)絡爬蟲技術的發(fā)展,利用信息技術從各地政府網(wǎng)站自動采集政策文件成為了可能。同時,Scrapy、Kettle 等開源工具的發(fā)展,也降低了開發(fā)成本,提供了較高的靈活性。

        1.2 流程設計

        圖1:數(shù)據(jù)獲取及清洗流程圖

        圖2:Kettle 中的ETL 過程

        圖3:查詢檢索頁面

        表1:數(shù)據(jù)源清單

        圖4:政策文件頁面

        對標城市政策文件庫系統(tǒng)通過網(wǎng)絡爬蟲采集成都市對標城市政府網(wǎng)站政策文件,通過對采集的信息進行清洗,形成面向研究咨詢行業(yè)的政策文件查詢、檢索應用。系統(tǒng)流程見圖1。

        (1)基于Scrapy 的數(shù)據(jù)采集系統(tǒng)。包括信息采集、增量抽取、異常處理、日志記錄、多任務等功能。Scrapy 是一個開源的網(wǎng)絡爬蟲框架,本身提供分布式處理、數(shù)據(jù)持久化、高性能下載等眾多功能,通過配合使用phantomjs、webdriver、tesseract、PIL 等其他功能庫,基本上能夠完成所有類型的網(wǎng)站信息采集任務。

        (2)基于Kettle 的ETL 系統(tǒng)。包括數(shù)據(jù)轉換、清洗、ETL 任務調(diào)度等功能。Kettle 是一個開源的ETL 功能,提供圖形化的開發(fā)和運行環(huán)境,內(nèi)置數(shù)據(jù)關聯(lián)、過濾、排序、數(shù)據(jù)運算等基本功能組件,通過組合應用內(nèi)置的功能組件,能很方便的實現(xiàn)各種數(shù)據(jù)清洗操作。

        2 系統(tǒng)組成

        2.1 基于Scrapy的數(shù)據(jù)采集系統(tǒng)

        2.1.1 數(shù)據(jù)源分析

        從成都市城市對標工作的實際需要出發(fā),本文數(shù)據(jù)源主要為其他國家中心城市以及副省級城市政府網(wǎng)站,并增加國務院、國家發(fā)改委、四川省三個政府網(wǎng)站。為從源頭做好信息過濾、減小整個政策文件庫規(guī)模,通過對每個網(wǎng)站政策文件欄目進行分析,重點排除人事任免、項目批復類文件,只選取政策法規(guī)、發(fā)展計劃相關欄目作為每個信息源的具體入口地址。因此整個對標城市政策文件庫信息來源為18 個政府網(wǎng)站、超過50 個具體欄目下的所有政策相關數(shù)據(jù)。數(shù)據(jù)源清單如表1 所示。

        2.1.2 基于Scrapy 的爬蟲設計

        整個系統(tǒng)的數(shù)據(jù)采集工作由基于Scrapy 框架開發(fā)的網(wǎng)絡爬蟲來完成。由于每個城市網(wǎng)站的技術實現(xiàn)方式、數(shù)據(jù)分類、頁面布局及附件下載方式都不盡相同,需要對每個網(wǎng)站進行具體分析,為每個網(wǎng)站開發(fā)獨立的爬蟲程序。另外為提高每個爬蟲的效率,需要考慮的共性問題還包括:

        (1)重復記錄的處理。通過維護全局URL 表,判斷該頁面是否被爬取過,從而減少網(wǎng)絡訪問量。

        (2)初始化及增量的處理。對于每個網(wǎng)站完成一次性初始化爬取工作,并通過每天增量爬取的方式來維持數(shù)據(jù)完整性。

        (3)日志及異常處理。為有效運維系統(tǒng),需要做好爬蟲的詳細日志工作,并對程序異常情況進行捕獲處理。

        2.1.3 基于XPath 的網(wǎng)頁信息抽取

        政策文件數(shù)據(jù)主要的屬性包括印發(fā)日期、發(fā)文單位、文號、標題、發(fā)布日期等。在本文中,采用基于XPath 的定位方式實現(xiàn)對網(wǎng)頁信息的抽取工作。XPath 定位分為絕對路徑和相對路徑兩種,為提高頁面的適應性,所有XPath 采用相對路徑方式,選擇相對固定的元素或?qū)傩怨?jié)點作為信息定位節(jié)點。由于網(wǎng)站存在改版、信息發(fā)布不規(guī)范等原因,基于固定XPath 的抽取規(guī)則會出現(xiàn)信息無法定位的問題,引起數(shù)據(jù)質(zhì)量問題,需要通過ETL 程序完成對數(shù)據(jù)的清洗工作。

        2.2 基于Kettle的ETL系統(tǒng)

        2.2.1 數(shù)據(jù)分層處理

        數(shù)據(jù)存儲選用MySQL 數(shù)據(jù)庫。MySQL 是一個輕量級開源數(shù)據(jù)庫軟件,部署方便,并且MySQL 幾乎擁有了超大型專業(yè)數(shù)據(jù)庫Oracle 提供的大部分功能,能夠承載絕大多數(shù)的應用。

        在數(shù)據(jù)處理階段,為使數(shù)據(jù)結構清晰、數(shù)據(jù)追蹤準確、簡化數(shù)據(jù)處理過程,參考數(shù)據(jù)倉庫設計思想,整個數(shù)據(jù)存儲分為三層:原始數(shù)據(jù)層、數(shù)據(jù)整合層、數(shù)據(jù)應用層。原始數(shù)據(jù)層用于完整保存爬蟲獲得的原始數(shù)據(jù),同時設計了訪問控制機制,過濾已經(jīng)下載過的地址,降低爬蟲工作負載加快數(shù)據(jù)爬取速度。數(shù)據(jù)處理層用于ETL清洗過程,在數(shù)據(jù)清洗過程中產(chǎn)生的中間數(shù)據(jù)均在處理過程中保持在這一層中。數(shù)據(jù)應用層用于最終的應用,從最終的應用需求出發(fā)設計和存儲數(shù)據(jù)。

        2.2.2 基于Kettle 的ETL 設計

        如圖2 所示,基于Kettle 的ETL 設計主要包括兩步:首先通過建立獨立的Transformation 模型,實現(xiàn)特定的ETL 功能;其次通過Job 模型將不同的Transformation 模型進行串聯(lián)或并聯(lián),從而實現(xiàn)不同ETL 處理過程的并行及順序處理。在本文中需要開展的數(shù)據(jù)清洗處理主要有三類:

        (1)關鍵信息缺失的處理。通過XPath 方式未能抽取關鍵信息時,需要通過ETL 方式進行數(shù)據(jù)補充。比如政策文件中的文號信息,可以通過正則表達式“[u4e00-u9fa5]{1,6}(〔|[)[0-9]{4}(〕|])[0-9]{1,4}號”來進行二次定位查找及數(shù)據(jù)填充。

        (2)非關注信息的過濾。雖然在前期我們已通過對網(wǎng)站欄目的選擇進行了初步的過濾,但由于各網(wǎng)站欄目設置不同,仍然會存在大量需要過濾的信息,主要是人事任免、項目批復類文件,因此需要通過ETL 程序進行過濾處理。

        (3)多源數(shù)據(jù)融合。這里主要是對重復的數(shù)據(jù)進行去重處理。有些地方網(wǎng)站會直接轉載國務院、國家發(fā)改委文件,因此需要進行去重操作。同時為適應爬蟲及ETL 程序重復運行可能造成的數(shù)據(jù)重復,也需要進行去重操作。

        2.3 系統(tǒng)調(diào)度及展示

        任務調(diào)度可采用的方式有三種,第一種是直接使用第三方任務調(diào)度軟件,比如開源調(diào)度工具Quartz,Kettle Manager 等,第二種是使用數(shù)據(jù)清洗工具中的計劃,比如Kettle 中Job 上可設置的計劃任務,第三種是使用操作系統(tǒng)的計劃任務工具。本文在Scrapy 框架中已實現(xiàn)對爬蟲的多任務處理,在Kettle 中已通過Job 方式實現(xiàn)對ETL 過程的執(zhí)行管理,對于調(diào)度要求簡單,綜合考慮最終采用操作系統(tǒng)自帶的計劃任務工具方式。考慮各地政策文件發(fā)布的時間窗,結合爬蟲及ETL 過程的運行時間,本文的調(diào)度設計為每天7:00和12:00 各執(zhí)行一次。

        通過開發(fā)前端展示頁面,實現(xiàn)了基于關鍵詞、地區(qū)、年份的政策文件查詢、檢索應用。圖3-圖4 展示了部分應用頁面。

        3 系統(tǒng)應用

        對標城市政策文件庫通過對17 個城市(地區(qū))政府網(wǎng)站政策文件相關欄目進行數(shù)據(jù)采集,并通過數(shù)據(jù)清洗,形成查詢、檢索應用,截止2019年1月,經(jīng)過清洗有效入庫數(shù)據(jù)48167 條。相關課題組通過篩選與創(chuàng)新創(chuàng)業(yè)相關政策文件,開展了雙創(chuàng)政策文件的對比分析研究,為政府提供了決策參考建議。

        4 結論

        對標城市政策文件庫系統(tǒng)基于Scrapy 框架設計針對不同政府網(wǎng)站的網(wǎng)絡爬蟲,利用Kettle 設計開發(fā)ETL 程序?qū)?shù)據(jù)進行信息結構化、去除重復等清洗操作,并為用戶提供了查詢、檢索應用。系統(tǒng)有效入庫政策文件超過48000 條,為成都市開展城市對標工作、城市之間政策對比研究提供了有效的途徑。下一步需要重點考慮網(wǎng)站改版帶來的風險,研究適應性更強的信息抽取模式及規(guī)則,增強爬蟲程序的錯誤處理機制,同時進一步分析數(shù)據(jù)質(zhì)量提升數(shù)據(jù)清洗能力,為更好的開展對標城市政策研究提供支持。

        猜你喜歡
        爬蟲開源頁面
        大狗熊在睡覺
        利用網(wǎng)絡爬蟲技術驗證房地產(chǎn)灰犀牛之說
        刷新生活的頁面
        基于Python的網(wǎng)絡爬蟲和反爬蟲技術研究
        五毛錢能買多少頭牛
        利用爬蟲技術的Geo-Gnutel la VANET流量采集
        電子測試(2018年1期)2018-04-18 11:53:04
        大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡爬蟲技術
        電子制作(2017年9期)2017-04-17 03:00:46
        大家說:開源、人工智能及創(chuàng)新
        開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
        開源計算機輔助翻譯工具研究
        日本女优中文字幕看片| 精品人妻系列无码一区二区三区 | 国产国语亲子伦亲子| 国产精品泄火熟女| 久久中文字幕无码专区| 国产精品丝袜黑色高跟鞋| 无码人妻系列不卡免费视频| 国产真实伦视频在线视频| 女同同成片av免费观看| 在线观看在线观看一区二区三区| av素人中文字幕在线观看| 亚洲av无码专区在线观看下载 | 国产人澡人澡澡澡人碰视频| 国产精品久久码一区二区| 青青草99久久精品国产综合| 日韩国产一区二区三区在线观看| 美女免费视频观看网址| 国产精品一区二区av麻豆| 男人激烈吮乳吃奶视频免费 | 国产精品自拍视频免费看| 成年av动漫网站18禁| 人妻丰满熟妇av无码区| 亚洲色大网站www永久网站| 欧美日韩亚洲成色二本道三区| 亚洲中文字幕精品一区二区| 人妻少妇中文字幕专区| 中文字幕一区二区三区视频 | 国产麻豆久久av入口| 国产av一区二区三区天堂综合网| 欧美日韩色另类综合| 国产精品黄网站免费观看| 538亚洲欧美国产日韩在线精品| 日本免费三片在线播放| 久久99天堂av亚洲av| 大又大粗又爽又黄少妇毛片| 99久久久无码国产aaa精品| 亚洲精品成人国产av| 亚洲精品一区二区三区日韩| 亚洲国产一区二区三区| 777国产偷窥盗摄精品品在线 | 无码中文亚洲av影音先锋|