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

一種面向互聯網文本數據采集框架的設計

2021-09-23 06:08:16賀宗平王正路
電子技術與軟件工程 2021年12期
關鍵詞:引擎文本

賀宗平 王正路

(1.南京審計大學信息化辦公室 江蘇省南京市 211815 2.江蘇師范大學信息化建設與管理處 江蘇省徐州市 221116)

互聯網文本數據采集能力是目前各種數據集成、應用系統關注的一項核心支撐能力,在各種系統開發中有著重要的作用。各種網站、web應用系統的文本數據的獲取方式存在一定規律性和相似性,網站文本數據的利用,諸如NLP相關研究的價值較高。因此,研究面向互聯網文本數據采集的框架具有重要的現實意義,并且能夠提供分布式、組件化和配置化的框架能力。

1 采集框架設計

1.1 Scrapy概述

Scrapy是適用于Python的一個快速、高層次的屏幕抓取和Web抓取框架,用于抓取Web站點并從頁面中提取結構化的數據。Scrapy用途廣泛,可以用于數據挖掘、監測和自動化測試。Scrapy是一個適用爬取網站數據、提取結構性數據的應用程序框架,它可以應用在廣泛領域:Scrapy常應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。通常我們可以很簡單的通過Scrapy框架實現一個爬蟲,抓取指定網站的文字或圖片等內容。Scrapy架構示意圖如圖1所示。

Scrapy Engine框架核心:負責爬蟲采集器、采集流水線、分析下載器、調度器之間的信息交互、數據傳輸等;

Scheduler調度器:根據Scrapy Engine發送的Requests請求,按照需求排列進入隊列,當Scrapy Engine進行處理時,調度器將此請求轉交處理;

Downloader分析下載器:負責與Scrapy Engine所有Request請求進行分析過濾獲取,并將獲取到的Responses內容傳給Scrapy Engine,再轉交給Spider來處理;

Spider爬蟲:負責對所有Response內容的分析處理過濾,從其中提取處理數據,獲取指定字段所需要的數據,并將需要追蹤采集的URL提交框架,重新進入Scheduler調度器;

Item Pipeline采集流水線:負責處理Spider中獲取到指定字段數據,并進行分析、過濾、存儲等采集后期處理操作;

Downloader Middlewares下載中間件:一個可以自定義擴展下載功能的組件;

Spider Middlewares中間件:一個可以自定擴展和操作引擎和Spider中間通信的功能組件。

Requests:爬蟲引擎訪問互聯網網站內容的http請求;

Responses:http請求的返回內容,支持xpath、css、re等解析方式,以及處理語言文字格式等。

1.2 架構設計

基于scrapy設計的文本數據采集框架應當具有以下幾種能力:

(1)框架組件輕量化,應用方便;

(1)支持海量數據的采集,具備數據定制化存儲、采集消息推送等功能;

(1)具備分鐘級別的定時調度采集能力,能夠對采集目標進行定時采集。

如圖2所示,框架具體由5個部分組成:

1.2.1 crawler采集引擎

crawler采集引擎是基于scrapy的可配置特征庫的爬蟲引擎,采集對象網頁的特征經過分析后被寫入元數據中,crawler根據開發人員配置的特征信息表數據和定時調度信息進行分析采集。

1.2.2 esoperation存儲組件

esoperation存儲組件是存儲crawler引擎采集的文本數據、元數據信息內容等,可根據開發和應用的需求進行定制存儲。

1.2.3 find檢索組件

find檢索組件是基于elasticsearch的高級檢索組件,具備支持按用戶自定義特征、時間、關鍵詞等維度進行組合聚合檢索。

1.2.4 analysis緩存組件

圖1:Scrapy架構示意圖

圖2:文本數據采集框架示意圖

圖3:常規式集成示意圖

圖4:配置式集成示意圖

analysis緩存組件是基于redis構建的高速緩存服務,為系統采集服務提供緩存和消息隊列服務。

1.2.5 notify消息組件

notify消息組件為高性能消息推送服務組件,可根據用戶需求在采集服務過程中集成進行消息定制推送等服務,例如支持企業微信的消息推送等。

1.3 框架流程

(1)配置采集目標源的網頁特征數據表信息,配置采集任務的定時調度時間間隔;crawler引擎根據配置信息啟動采集任務;

(2)esoperation組件采集分析每一條文本信息,根據用戶自定義規則進行過濾并存儲持久化;

(3)采集分析過程中,根據自定義參數和配置,notify組件進行相關消息的推送和提示;

(4)集成和應用環節,通過find組件提供查詢API接口和服務,為系統提供多種豐富的組合查詢檢索功能;

(5)系統可配置采集中產生的高頻公共統計數據、文本數據的高速訪問服務。

2 功能需求分析

2.1 定時采集調度

定時采集調度是互聯網數據采集中基礎核心的功能,通過系統提供定時采集指定數據源頭的訪問能力。定時調度器包括以下幾個部分內容:

2.1.1 觸發器triggers

觸發器主要的是調度的邏輯,用于指定任務作業的運行依據和條件。包括了三種主要的trigger:第一種是date,即指定的系統后臺運行時間點觸發;第二種是interval,系統指定固定的時間間隔觸發運行;第三種是cron,按照Linux Crontab規范的時間周期性觸發運行。

2.1.2 任務儲存器job stores

主要用于存放任務,把運行任務的相關元信息數據存放在內存或數據庫中。

2.1.3 執行器executors

執行器主要是確保任務的并發執行可靠性,將多任務提交到線程池或進程池中運行,并任務完成的狀態信號通知給調度器。

2.1.4 調度器schedulers

調度器是整個定時采集調度的核心控制組件,將觸發器、任務存儲器、執行器在調度器中進行運行和關聯操作。

2.2 分布式采集

分布式采集是以可擴展集群滿足海量采集數據需求,本研究的分布式采集通過將任務分配和節點協同進行分布式采集。

2.2.1 任務分配

任務分配采用了可配置化目標采集地址,采集器為基于docker的獨立構建,可根據采集目標地址的情況進行集群化擴展配置,實現集群并發采集。

2.2.2 采集協同

采集任務的協同采取簡化機制設計,在采集地址元信息表中配置對應集群中的采集器,實現采集任務負載均衡。

2.3 集成與去重

(1)對于采集周期一致、需求相似,且需采集多個數據源項目的需求情況,支持將多個爬蟲采集器集成綜合為獨立插件,具有良好的復用和擴展性。

(2)支持采集過程的網頁關鍵標識標題和URL去重,對同站源的重復內容過濾,防止重復內容。在采集存儲環節,通過對同源網站的URL進行重復性檢索查詢,進而實現防止內容采集重復。

2.4 數據存儲與消息推送

(1)系統基于全文檢索數據庫Elastic Search進行采集數據存儲,能夠對采集數據存儲字段進行靈活自定義配置,支持不同的系統任務采集字段差異化可靈活配置。

(2)向系統集成提供消息推送服務,具有穩定高性能的無阻塞異步消息隊列,以及可定制化的消息類型的服務,以SDK、API的方式支持適配微信、釘釘等移動端應用消息通信。

3 應用集成

應用集成以組件形式為系統開發和應用的場景提供集成支持,一般應用于采集調度周期類似、需求近似,需要采集多個目標網站文本數據源的項目。

3.1 常規式集成

常規項目中的采集需求,通常是增加開發不同的爬蟲,這種方式開發量大,需要針對每一個網站都要進行定制化開發。如圖3所示。

3.2 配置式集成

本項目研究實現了可配置化的采集源配置,通過動態配置元數據信息即可以實現常規集成,無需額外開發工作量。將這些爬取目的地址集成為一個爬蟲,我們只需維護這一個集成中間件即可以,同時支持集群分布式采集,方便采集服務動態擴容。如圖4所示。

3.3 集成示例

以某系統集成應用采集框架進行新聞文本數據采集為例。

(1)引用crawler引擎組件,采集網站特征參數,以人民日報、鳳凰網兩個網站采集為例:

crawler作為采集引擎核心組件,具備網站內容解析、采集調度等核心基礎功能,先期分析目標網站的特征參數,將特征參數傳遞給crawler的啟動參數,同時配置采集調度時間間隔。

(2)檢索查詢。

(3)消息推送。

以企業微信移動端應用作為推送終端為例。

4 結束語

通過設計面向互聯網文本數據的采集框架,實現了采集能力的高效集成和可管理配置化,能夠為各種系統應用場景提供豐富的采集能力,為NLP自然語言處理的相關的研究提供了豐富的研究語料和文本數據支撐,具有重要的支撐意義。

猜你喜歡
引擎文本
以學促干 挺膺擔當 激活砥礪前行的紅色引擎
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
三生 三大引擎齊發力
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
論《柳毅傳》對前代文本的繼承與轉化
人間(2015年20期)2016-01-04 12:47:10
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發
主站蜘蛛池模板: 精品久久综合1区2区3区激情| 久久96热在精品国产高清| 99尹人香蕉国产免费天天拍| 日本欧美成人免费| 亚洲天堂福利视频| 亚洲第一国产综合| 蜜臀AV在线播放| 亚洲欧洲日本在线| 成人国内精品久久久久影院| www.国产福利| 国产精品内射视频| 久爱午夜精品免费视频| 亚洲精品天堂在线观看| 极品av一区二区| 91成人在线观看视频| 久久精品午夜视频| 亚洲国产成人无码AV在线影院L | 国产成人亚洲毛片| 久久综合九色综合97网| 欧美日韩国产综合视频在线观看| 久久国产精品电影| 日本人又色又爽的视频| 亚洲第一中文字幕| 国产免费久久精品44| 91九色最新地址| 精品视频一区二区三区在线播| 情侣午夜国产在线一区无码| 在线观看无码av免费不卡网站 | 极品私人尤物在线精品首页| 九九热在线视频| 亚洲美女视频一区| 超碰色了色| 国产无人区一区二区三区| 99精品视频在线观看免费播放| 谁有在线观看日韩亚洲最新视频| 99视频在线看| 国产不卡网| 黄色三级网站免费| 亚洲全网成人资源在线观看| 久久国产免费观看| 国产成人福利在线| 香蕉在线视频网站| 国产成人亚洲综合A∨在线播放| 国产成人高清精品免费| 五月天香蕉视频国产亚| 亚洲性视频网站| 日本福利视频网站| 久草性视频| 99re精彩视频| 国产你懂得| 国产91全国探花系列在线播放| 欧美亚洲日韩中文| 亚洲一区毛片| 国产第二十一页| 国产乱人伦AV在线A| vvvv98国产成人综合青青| 国产第一色| 精品无码视频在线观看| 亚洲乱伦视频| 人妻丰满熟妇av五码区| 国产成人无码久久久久毛片| 国产小视频a在线观看| 91精品国产自产91精品资源| 欧美97色| 成人91在线| 欧美成人午夜视频| 在线视频一区二区三区不卡| 久久综合色天堂av| 全部免费毛片免费播放 | a级毛片视频免费观看| 乱系列中文字幕在线视频| 国产成人超碰无码| 国产精品自在在线午夜| 99九九成人免费视频精品 | 国产毛片久久国产| 九九视频免费看| 国产欧美日韩综合在线第一| 国产精品免费电影| 午夜福利视频一区| 毛片视频网| 五月天婷婷网亚洲综合在线| 福利一区在线|