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

基于Python爬蟲技術抓取臺風報文的研究與實現

2022-06-15 03:15:54陳瓊鶯施蔚然鄭玉蘭馮招程
電腦與電信 2022年4期
關鍵詞:信息

陳瓊鶯 施蔚然 鄭玉蘭 馮招程

(福建省氣象信息中心,福建 福州 350001)

1 引言

由于臺風過境時一般會出現狂風暴雨天氣[1],造成莊稼摧毀、山體滑坡、各種房屋摧毀及倒塌等[2-3],因此,提高預報臺風精確度迫在眉睫。

根據臺風產生的時間、風速、移向、強度、中心位置、最大風速、移動速度等觀測數據形成臺風報文。臺風報文中的數據,能預測臺風的路徑及臺風眼位置,因此臺風報文是提高臺風預報準確性的不可或缺的數據。中央氣象臺根據臺風起始的發展變化,在中央氣象臺網頁中實時發布臺風報文。目前福建氣象局無法實時抓取中央氣象臺網頁中的臺風報文數據,同時也缺乏豐富的臺風報文庫,造成許多臺風報文無法很好地在業務科研上使用。臺風報文資料的不齊全是影響臺風預報能力的主要因素。提高臺風報文的首要工作是收集臺風報文資料。

在中央氣象臺發布的臺風報文網頁中,如何對網頁數據進行抓取,并快速分析獲取的資料中哪些是臺風資料是我們要解決的問題。現代網頁中都使用了搜索引擎功能,用戶根據自己所需獲取信息的關鍵字、關鍵詞在網頁中搜索,就能獲其取所要的信息。由于爬蟲技術是搜索引擎的核心技術,其在網頁檢索中發揮了重要作用,因此對爬蟲技術進行研究并利用其實現臺風報文抓取具有重要意義。

2 Python概述

2.1 Python特點

Python是一種具有解釋性和交互性的跨平臺的高級編程語言[4]。Python簡單易學易用,擁有許多標準庫,在UNIX、Macintosh和Windows平臺上具有很好的兼容性。

2.2 Python技術特點分析

網絡爬蟲技術已經廣泛應用在互聯網領域中,搜索引擎運用網絡爬蟲抓取網頁信息、視頻、圖片、文檔等資源,利用索引技術組織這些信息,供用戶進行搜索。Python網絡功能非常強大,常用來實現網絡爬蟲,常用框架有grab網絡爬蟲框架(基于pycurl/multicur)、scrapy網絡爬蟲框架(基于twisted)、pyspider爬蟲系統、cola分布式爬蟲框架、portia可視化爬蟲。由于Python的爬蟲技術擁有強大的功能,可以在短時間內實現各類程序的編寫任務。此外,現代科學技術的飛快發展,為Python提供了技術支撐,利用Python的網絡能力,讓爬蟲在互聯網各種數據信息中進行搜索,可使有效的信息得到充分利用。

3 Python爬蟲概述

3.1 爬蟲的基本結構

爬蟲是一種自動抓取萬維網信息的腳本,從萬維網上獲取用戶需要的信息。網絡爬蟲可以自主遍歷采集網頁上的信息。網絡爬蟲最重要的作用就是在互聯網的大數據中爬取到有效的信息,并將有效的信息數據存儲到本地數據庫中。

Python爬蟲[5]框架主要是由爬蟲調度器、URL管理器、網頁下載器、網頁解析器、信息采集器組成。其中調度器是實現協調網頁下載器、網頁解析器、URL管理器之間的運行。URL管理器主要包含已獲取的URL地址和待獲取的URL地址,避免重復抓取URL和循環抓取URL,URL管理器主要是通過內存、數據庫、緩存數據庫三種方式來實現的。網頁下載器是根據傳入的URL地址來下載網頁內容,將網頁內容轉變為文本,常用的網頁下載器有urllib。調度器將種子提供的URL進行下載,然后下載器從網上獲取頁面信息并發送至信息采集器,提取器根據信息提取指令獲取信息,然后將下一級URL發送到一個等待隊列,等待隊列提交重載的URL,過濾和排序操作后進入列表,等待調度器調用。

3.2 爬蟲過程的順序圖

網絡爬蟲的時序圖如圖1所示。具體的爬蟲過程描述如下:首先調度端啟動爬蟲,詢問URL管理器是否有要爬取的URL。URL管理器將要爬取的URL發給調度端,調度端根據獲取的URL,利用網頁下載器下載URL對應的頁面內容。網頁下載器將下載好的內容發給網頁解析器來解析,返回解析好的內容和更新URL列表,獲取有效的數據。

圖1 爬蟲過程的時序圖

3.3 網絡爬蟲的分類

網絡爬蟲[6]根據不同的實現技術手段,可以大致分為通用網絡爬蟲、聚焦網絡爬蟲、增量網絡爬蟲。通用網絡爬蟲也稱為全網爬蟲。通用網絡爬蟲是從網絡各個領域的網頁中抓取與主題相關的所有文檔和鏈接。通用網絡爬蟲需要消耗大量的時間和磁盤空間。

聚焦網絡爬蟲也稱為主題網絡爬蟲。聚焦爬蟲只爬取特定的網頁,與通用網絡爬蟲相比聚焦爬蟲節省大量的時間、磁盤空間和網絡資源,聚焦爬蟲與通用爬蟲的區別在于增加了過濾網頁鏈接的兩個模塊:網頁決策模塊和URL鏈接優先級排序模塊。

網頁決策模塊:當爬蟲抓取到特定內容時,網頁相關性評估器開始比較網頁中的內容與預先給定的主題的相關性。如果網頁的相關性沒有達到之前設定的閾值,則會放棄該網頁,以保持獲取網頁的高精度。

URL鏈接優先級排序模塊:該模塊主要用于比較解析的URL與給定主題的相關程度。該模塊根據鏈接對內容的權限和鏈接的引用次數對鏈接進行優先級排序。按優先級排序并刪除優先級過低的鏈接。

增量爬蟲與一般爬蟲的區別主要在于搜索策略不同。對于一般爬蟲來說,一次遍歷完成后,需要更新數據,按照之前的遍歷形式對全網進行新的遍歷,然后替換之前的結果。增量爬蟲采用了一種新的機制來更新數據。增量式爬蟲只會在需要的時候爬取新產生或發生更新的頁面,并不重新下載沒有發生變化的頁面,可有效減少數據下載量,及時更新已爬行的網頁,可以提高爬取效率,減少對物理內存的占用,提高數據更新率。

3.4 網頁獲取與分析

爬蟲的工作原理是模擬瀏覽器發出HTTP請求,發送至Web服務器。爬蟲獲取Web服務器響應后,對網頁內容進行分析和存儲,執行爬取任務。

網頁解析主要是網頁去噪的過程。在Internet中,網頁的各種信息都存儲在HTML的框架中。網頁去噪主要是網頁內容文本的提取。主題爬蟲需要分析解析頁面的HTML結構來提取搜索用戶所需的信息。常用的方法包括通過Beautiful Soup解析HTML結構和使用正則表達式提取文本數據。

3.5 數據存儲

爬蟲獲取數據的數據,一般采用兩種存儲方式:保存至本地文件或存儲至數據庫,通常量少的數據一般保存至本地文件,數據量大的數據一般存儲到數據庫中。

4 基于Python抓取臺風報文的實現

4.1 網站頁面分析

通過中央氣象臺網站,找到臺風報文如圖2所示。

圖2 中央氣象臺網站

由圖2可知臺風報文的關鍵詞中頭部設置為ZCZC,尾部設置為NNNN。

在網頁調試器中,任意選擇一個時間(例2021/12/21 06:21),network中會增加一條為json存儲的地址的調用記錄,詳細如圖3所示。

圖3 獲取報文信息存儲的Web地址

通過圖3可以得到模擬點擊的鏈接參數為http://www.nmc.cn/f/rest/GetContent?dataId =。提取關鍵字為SEVP_NMC_TCMO_SFER_ETCT_ACHN_L88_P9。選擇不同時間network的調用記錄如圖4所示。

圖4 臺風報文地址

從圖4中可知臺風報文的Web地址并沒有呈現某種規律的變化,因此本系統采用固定的時間間隔去抓取數據(默認時間是每分鐘,可以根據工作需要在頁面上設置抓取的時間間隔),并判斷地址中的信息是否有效,從而完成數據爬取任務。

4.2 系統實現

在基于Python抓取臺風報文的軟件中,本系統設計了定時提取和手工提取兩種功能,定時提取可以根據需要設置定時周期,默認的定時周期是每分鐘,本系統利用Python提供的一種常用的數據結構字典來實現重置字典功能。本系統中設有兩個字典:報文地址字典和報文數據字典,用于防止重復解析和防止重復入庫,重置字典即清空以上兩個字典。當點擊重置字典按鈕就會重新獲取報文,設置配置功能可以根據需要對存盤的路徑、定時提取時間、報文關鍵詞進行設置。本系統的導航存盤是用打開存儲文件夾技術實現的,點擊導航存盤按鈕就會進入臺風報文存放的目錄中,方便用戶查找文件。下面是實現爬蟲程序設計的關鍵代碼:

import requests#導入requests庫

#獲取網頁內容

def get_html(url, params):

html = ' '

#設置請求頭

http_headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'}

try:

r= requests.get(url=url,params=params,headers=http_headers, timeout=5)

r.encoding = 'utf-8'

html = r.text

except Exception as e:

print(e)

return html

代碼解析:requests庫的get()方法中的第二個參數params是臺風報文,第一個參數url是中央氣象臺發布的網址:http://www.nmc.cn/publish/typhoon/message.html,第三個參數headers是用來向瀏覽器發出請求,它的參數是字典類型,表示的是用戶代理信息。用戶代理(user-agent)是瀏覽器客戶端與服務器交互時的重要信息之一,用于幫助網站識別請求用戶的瀏覽器類別,以便于網站發送相應的網頁數據,第四個參數timeout是請求網面數據,如果5秒內沒返回抓取的報文信息就會報出錯信息。在基于Python抓取臺風報文抓取軟件中顯示獲取到的臺風報文如圖5所示,原始網頁如圖6所示,執行日志如圖7所示。

圖5 臺風報文

圖6 原始網頁

圖7 日志信息

5 結語

基于Python臺風報文抓取系統能夠定時提取中央氣象臺網頁中的臺風報文,為福建氣象局提供臺風的當前位置、氣壓、風速、臺風目前移速、預測未來的位置與強度、中心位置等信息,有利于福建氣象臺日常預報及業務的順利開展,以及對臺風報文進行更深入的研究。在大數據時代基于Python爬蟲技術的氣象信息挖掘具有重要應用價值。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 91在线无码精品秘九色APP| 大学生久久香蕉国产线观看| 国产精品网址你懂的| 日韩不卡高清视频| 黄色网页在线播放| 原味小视频在线www国产| 欧美另类图片视频无弹跳第一页| 激情综合五月网| 精品国产中文一级毛片在线看| 精品福利网| 免费一看一级毛片| 精品国产Av电影无码久久久| 免费在线看黄网址| 亚洲综合18p| 亚洲人成影院午夜网站| 91精品小视频| 久久精品国产精品青草app| 亚洲床戏一区| 久久综合九九亚洲一区| 国产成人你懂的在线观看| 91黄色在线观看| 国产精品免费p区| 午夜福利免费视频| 精品伊人久久久久7777人| 国产区免费精品视频| 亚洲一区二区视频在线观看| 国产青榴视频| 国国产a国产片免费麻豆| 欧美三级不卡在线观看视频| 特级精品毛片免费观看| 国产福利不卡视频| 色综合五月婷婷| 狠狠色综合网| 无码电影在线观看| 亚洲区视频在线观看| 国产精品视频第一专区| 午夜毛片福利| 欧美精品aⅴ在线视频| 日本免费新一区视频| 福利在线免费视频| 台湾AV国片精品女同性| 亚洲天堂免费| V一区无码内射国产| 伊人天堂网| 有专无码视频| 91精品专区| 亚洲区第一页| 成人毛片免费在线观看| 久草国产在线观看| 欧美日韩高清在线| 91亚洲免费视频| 成人亚洲国产| 日韩激情成人| 91色在线观看| 波多野结衣视频网站| 欧美精品一二三区| 国产精品丝袜在线| 色综合热无码热国产| 欧洲欧美人成免费全部视频| 国产成人免费手机在线观看视频| 全部无卡免费的毛片在线看| 久草视频精品| 伊人福利视频| 亚洲一区二区三区国产精华液| 亚洲va视频| 国产一级毛片网站| 亚洲熟妇AV日韩熟妇在线| 91免费片| 久久夜色精品| 欧美一级在线| 中文字幕第4页| 六月婷婷精品视频在线观看| 欧美中文字幕在线二区| 欧美激情,国产精品| 在线日韩日本国产亚洲| 亚洲va精品中文字幕| 免费A级毛片无码免费视频| 欧美爱爱网| 亚洲精品无码高潮喷水A| 毛片在线看网站| 女人18毛片一级毛片在线| 久久久精品国产亚洲AV日韩|