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

基于云平臺的網頁抓取架構的研究與設計

2018-10-25 11:06:56范順利周亦敏
計算機時代 2018年9期
關鍵詞:大數據

范順利 周亦敏

摘 要: 隨著網絡數據的迅速增長,網頁數據抓取在處理大量數據時遇到了一些挑戰,例如大量數據存儲,需要密集計算能力以及數據提取的可靠性。提出了一個基于云平臺的網頁數據抓取架構,該架構使用AWS(Amazon Web Services)作為云平臺,按需配置計算資源和數據存儲;Selenium作為網頁自動化工具,調用WebDriver API能夠模擬用戶使用瀏覽器。通過實驗,比較了該架構與其他基于云的網頁抓取架構的不同,并分析了它的優勢。

關鍵詞: AWS; 網頁抓取; 大數據; Selenium

中圖分類號:TP311.5 文獻標志碼:A 文章編號:1006-8228(2018)09-21-04

Abstract: With the rapid growth of data on the Internet, web scraping encounters a number of challenges in processing large amounts of data, such as large amounts of data storage, the need for intensive computing capabilities, and the reliability of data extraction. So, a web scraping architecture based on the cloud platform is proposed. The architecture uses AWS (Amazon Web Services) as the cloud platform and configures computing resources and data storage on demand. Selenium is a web page automation tool; the supported WebDriver API simulates the process of users using the browser. Through experiments, the differences between this architecture and other cloud-based web scraping architectures are compared, and its advantages are analyzed.

Key words: AWS; Web scraping; big data; Selenium

0 引言

互聯網提供了大量數據集, 但是很多數據都被嵌入到網頁結構與樣式中[1]。將可用的信息從網頁中提取出來,挖掘其潛在價值,使其在金融、數據分析以及其他科學領域發揮重要作用。目前現有的多數解決方案主要側重于網頁數據的采集,數據采集是與數據科學相關的任何研究和開發的初步工作,而這只是大數據的第一步。因此,對于數據科學領域,提取網頁數據并運用到數據科學領域十分重要。

網絡上的大多數信息都是以HTML文檔的形式呈現的,這些數據都是非結構化數據[2]。由于非結構化數據不遵循任何數據模型,因此信息提取并不容易。網頁數據提取的過程包括:網頁數據的解析、過濾、格式化結果和存儲。在分布式計算領域,處理大量的網頁抓取,可以使用BeautifulSoup,Requests和Scrapy[3]等各種庫,但是,它們只能在靜態頁面上工作。因此,選擇Selenium作為網頁自動化工具,Python的HTMLParser庫用于從HTML中提取數據[4]。使用Amazon Web Services的EC2(彈性計算云)作為云平臺,選擇EC2的原因在于其靈活性,可根據需要創建,啟動和終止EC2實例,以及對大數據應用程序的支持。

1 簡介

隨著軟件產業的發展,網頁數據采集也經歷了不同的發展階段,從最早期的人工復制整理數據,到如今的基于云計算的大數據采集,每一次產業技術的革新都伴隨著硬件和軟件的巨大進步和發展[5]。云計算通過高度密集的計算能力和支持彈性資源,使其成為個人企業以小資源開始自己的網頁抓取的最佳選擇。下面介紹一些基于云平臺的網頁抓取。

1.1 Import.io

Import.io是一個基于云平臺,在不編碼的情況下從不同網站抓取網頁,所有提取的數據都存儲在其云服務器上。它允許將數據下載為CSV,Excel,Google表格,JSON或通過API訪問。其獨特的功能包括自動數據和圖像提取,自動頁面鏈接、監控、調度和無需編碼。

1.2 WebScraper.io

WebScraper.io是另一種可視化網頁抓取平臺,它提供Web Scraper和Web Scraper Extension的兩種方式。對于Google Chrome瀏覽器,Web Scraper Extension工具可以免費使用,用戶可以創建一個sitemap,制定如何抓取。而對于基于云的Web Scraper,它的使用價格取決于要抓取的URL數量。

1.3 Scrapy

Scrapy是一個免費的開放源代碼和協作式網頁抓取框架,通過編寫代碼并調用API提取網頁數據。Scrapy是用Python編寫的,可以部署在Scrapy云中,可以按需擴展[6]。其特點是快速,簡單,可擴展等。

以上解決方案主要側重于網頁數據的采集,而這只是大數據的第一步。鑒于大數據的進一步處理,構建了基于云的網頁抓取框架(Cloud-Scraper)。

2 系統設計

2.1 Scraper介紹

圖1顯示了一個傳統的Scraper概況,客戶端向ScrapeHub提供URL以及網頁抓取配置。ScrapeHub程序啟動,處理和監視系統中的所有任務,它是用Python語言編寫的。然后ScrapeHub啟動Scrape Engine任務,Scrape Engine初始化一個網頁,使用Selenium庫將網頁轉化到所需狀態,使用Requests庫對其進行解析。不同的Scraper可能使用不同的庫來解析和初始化網頁。在這里,只提到了Selenium和Requests,所有數據都存儲在數據庫中。這個模型代表了傳統的順序抓取網頁數據的方法,一次只能抓取一個站點,只能在給定的時間段內提取有限的數據。通過添加更多的計算和存儲資源,可以消除這種限制,但隨著需求的增長,維護將變得非常昂貴和困難,所以這個方法不是很靈活適用。

2.2 Cloud-Scraper設計

使用Amazon彈性計算云(EC2),通過簡單隊列服務(SQS)和簡單存儲服務(S3)[7],可以解決上述問題。Amazon S3用于存儲Amazon機器映像,能夠根據需要創建盡可能多的EC2實例,具有經濟高效的靈活性。圖2說明了Cloud-Scraper的架構,該體系結構的前端是Web瀏覽器,通過REST API連接到Amazon Web Server。位于云端的ScrapeHub將處理所有客戶端的抓取請求以及處理和監控事件,使用Amazon SQS來維護要被抓取的URL列表。Amazon SQS處理兩個隊列;一個是請求隊列,另一個是響應隊列。Scrape Engine是一個以URL作為輸入并抓取網頁內容的程序,每個EC2實例都是運行Scrape Engine的虛擬機。DynamoDB是一款免費且開放源碼的NoSQL數據庫,可為提取的數據提供存儲[8]。

圖3顯示了Cloud-Scraper的網頁抓取流程,當用戶對Cloud-Scraper發送抓取請求時,請求會轉到ScrapeHub,該請求包含兩個信息:URL和抓取配置。首先,ScrapeHub將URL劃分為多個塊,并將它們轉發到S3存儲,同時創建多個EC2實例,以及創建SQS請求隊列和響應隊列。ScrapeHub在SQS請求隊列的幫助下向EC2實例發送服務請求,處理請求的順序以先進先出(FIFO)調度方式完成。ScrapeHub創建的請求隊列上的每個請求都有一個特定的ID,通過響應隊列持續監視整體抓取的進度,抓取結果存儲在DynamoDB中。

Amazon EMR(Amazon Elastic MapReduce)是一種Web服務[9],使用Hadoop處理方法,并結合Amazon EC2,能夠以高效率輕松處理大量數據。Cloud-Scraper集成了大數據應用程序,抓取的網頁數據能夠可視化分析。

3 實驗分析

圖4顯示了使用不同方案完成網頁抓取所需的時間,包括請求時間,排隊時間,處理時間和來自云端的響應時間,X軸表示URL的數量,而Y軸表示網頁抓取完成的時間。圖中上面的兩條線表示使用單個機器和使用單個機器上的多個線程的抓取完成時間,下面的兩條線表示使用20臺機器和使用20臺機器Amazon EC2的T2實例完成抓取所需的時間。可以看到,使用單節點本地機器,最多可以抓取4000個網頁數據,這是由于服務器限制單個IP在有限的時間內訪問有限的數據而導致的。在單個機器中執行并發線程也是一樣,盡管計算速度比順序節點快得多,但抓取效率隨著URL的增加而下降。下面的兩條線的抓取完成時間大致是線性的,表明隨著URL數量逐漸增加,Cloud-Scraper能夠正常運行。可以推斷出,Cloud-Scraper架構是可擴展的,并且可依據抓取的URL數量增加EC2實例。

許多基于云的網頁抓取解決方案都是可用的,但其中大部分都是商業的,其工作模式不是公開的。因此,與一些現有的開源框架進行比較,如Scrapy和Import.io。圖5顯示了使用一臺機器實例,Cloud-Scraper完成網頁抓取時間與其他基于云平臺的對比。與其他框架相比,Cloud-Scraper架構是分布式的,對可以使用的計算資源的實例沒有限制,在Amazon云中的DynamoDB的幫助下,可以靈活地使用所有資源。由于Selenium的使用可能會延遲一段時間,抓取完成時間比Import.io的抓取完成時間多,但它的缺點已被優勢所超越, Selenium提供了更高的可靠性,以及對人類行為的模仿效果更好[10]。在數據提取方面,其性能與目前市場上的其他基于云的網頁抓取架構相當,還可以與其他大數據應用結合使用,最終被抓取的數據將進入大數據處理。

4 Cloud-Scraper的優勢

Cloud-Scraper有很多優點。其中一些描述如下:

⑴ 成本效益:使用云資源按次付費模式,能夠以便宜的價格使用云資源,可以按需擴展或縮減,比維護自己的云更便宜[11]。云供應商幾乎可以提供從存儲到處理能力所需的一切,使得云計算更簡單。購買自有資源,維護和擴大需求的費用會很高。

⑵ 可擴展性:云供應商根據需要提供可靠的計算機,可以根據需要創建和使用這些機器的多個實例。供應商提供大量選擇平臺的選項,根據對計算的性能需求,可以選擇正確的處理能力[12]。

⑶ 大數據應用的集成:任何大數據應用都需要四個基礎架構——存儲,處理,分析軟件和網絡。DynamoDB是NoSQL數據庫,可提供更高的可用性,從而獲得更好的性能。分析軟件可以根據用戶的需求在此架構上編程,借助Amazon的EC2,可以在數量和計算能力上擴展。盡管這種架構并未完成所有大數據需求,但進一步的程序集成和修改可以使其對于大數據任務更加穩健。

5 結論

本文提出一種新的基于云平臺的網頁抓取架構,Amazon的云服務為分布式環境中的計算和存儲提供彈性資源,為網頁抓取提供了更好的平臺。通過實驗測試了該架構的可擴展性,并簡單地將它與其他網頁抓取架構進行了比較,分析其優點,包括Selenium的使用和對大數據應用程序的集成。此外,也可以使用其他云服務來實現上述架構。

參考文獻(References):

[1] 魏冬梅,何忠秀,唐建梅.基于Python的Web信息獲取方法研究[J].軟件導刊,2018.17(1):41-43

[2] 郎波,張博宇.面向大數據的非結構化數據管理平臺關鍵技術[J].信息技術與標準化,2013.10:53-56

[3] 劉宇,鄭成煥.基于Scrapy的深層網絡爬蟲研究[J].軟件,2017.38(7):111-114

[4] 齊鵬,李隱峰,宋玉偉.基于Python的Web數據采集技術[J].電子科技,2012.25(11):118-120

[5] Keven.網頁數據采集的發展歷史以及未來前景[EB/OL].http://www.bazhuayu.com/blog/wysjcjfzls.

[6] 劉碩.精通Scrapy網絡爬蟲[M].清華大學出版社,2017.

[7] 徐鴻飛.云計算安全問題初探——基于Amazon Dynamo與EC2的架構分析[J].計算機光盤軟件與應用,2013.16(17):21-22

[8] 孫寶華.基于Dynamo的存儲機制研究[D].西安電子科技大學,2013.

[9] 滕曉龍.如何為Hadoop選擇最佳彈性MapReduce框架[EB/OL].https://searchcloudcomputing.techtarget.com.cn/5-10795

[10] 杜彬.基于Selenium的定向網絡爬蟲設計與實現[J].金融科技時代,2016.7:35-39

[11] Jackson K R, Muriki K, Thomas R C, et al. Performance and cost analysis of the supernova factory on the amazon AWS cloud[J]. Scientific Programming,2011.19:2-3

[12] Juan J D, Prodan R. Multi-objective workflow scheduling in amazon EC2[J]. Cluster Computing,2014.17(2):169-189

猜你喜歡
大數據
基于在線教育的大數據研究
中國市場(2016年36期)2016-10-19 04:41:16
“互聯網+”農產品物流業的大數據策略研究
中國市場(2016年36期)2016-10-19 03:31:48
基于大數據的小微電商授信評估研究
中國市場(2016年35期)2016-10-19 01:30:59
大數據時代新聞的新變化探究
商(2016年27期)2016-10-17 06:26:00
淺談大數據在出版業的應用
今傳媒(2016年9期)2016-10-15 23:35:12
“互聯網+”對傳統圖書出版的影響和推動作用
今傳媒(2016年9期)2016-10-15 22:09:11
大數據環境下基于移動客戶端的傳統媒體轉型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數據背景下的智慧城市建設研究
科技視界(2016年20期)2016-09-29 10:53:22
數據+輿情:南方報業創新轉型提高服務能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
主站蜘蛛池模板: 免费人成又黄又爽的视频网站| 暴力调教一区二区三区| 欧美日韩导航| 91九色最新地址| 丁香亚洲综合五月天婷婷| 亚欧美国产综合| 国产97视频在线| 2022国产无码在线| 国产人成乱码视频免费观看| 欧美精品亚洲精品日韩专区va| 88av在线| 国产日韩欧美在线视频免费观看| a在线观看免费| 99福利视频导航| 国产91成人| 国产成人综合在线视频| 91美女在线| 一级香蕉视频在线观看| 久久久久亚洲Av片无码观看| 噜噜噜久久| 中文字幕在线一区二区在线| 91久久精品国产| 中文一区二区视频| 五月天天天色| 欧美午夜小视频| 久久精品国产免费观看频道| 国产香蕉国产精品偷在线观看| a级毛片在线免费| 波多野结衣第一页| 精久久久久无码区中文字幕| 97精品久久久大香线焦| 日本黄网在线观看| 免费午夜无码18禁无码影院| 国产亚洲高清在线精品99| 999国产精品永久免费视频精品久久| 日本91视频| 就去色综合| 亚洲高清在线天堂精品| 91小视频在线观看| 日韩小视频网站hq| 成人va亚洲va欧美天堂| 91黄视频在线观看| 波多野结衣无码AV在线| 婷婷色中文| AV在线麻免费观看网站| 国产91在线|中文| 久久香蕉欧美精品| 综合人妻久久一区二区精品| 亚洲欧美日韩成人高清在线一区| 一级爆乳无码av| 中文字幕在线观| 天堂av高清一区二区三区| 亚洲黄网在线| 中文字幕免费播放| 国产男女免费完整版视频| 114级毛片免费观看| 亚洲第一成人在线| 美女一级毛片无遮挡内谢| Jizz国产色系免费| 欧美日韩国产系列在线观看| 国产噜噜在线视频观看| 亚洲男人在线天堂| 国产91视频免费| 麻豆精品视频在线原创| 人与鲁专区| 综合天天色| 久久亚洲精少妇毛片午夜无码| 青青国产成人免费精品视频| 欧美中文字幕无线码视频| 亚洲色图欧美视频| 国产网站在线看| 一级毛片无毒不卡直接观看| 亚洲综合久久一本伊一区| 欧美一区中文字幕| 狠狠躁天天躁夜夜躁婷婷| 亚洲成a人片| 午夜国产精品视频| 无码人妻免费| 人妻丰满熟妇αv无码| 亚洲欧美自拍视频| 国产SUV精品一区二区| 国产欧美日韩va另类在线播放|