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

基于Python的網絡爬蟲研究

2019-10-21 06:52:08李俊華
現代信息科技 2019年20期
關鍵詞:可視化

摘? 要:隨著大數據與人工智能時代的來臨,有效地獲取和利用信息成為了一項挑戰,從而使網絡爬蟲越來越受到人們的重視與青睞。Python以其簡單和強大的功能在網絡爬蟲方向脫穎而出。本文將介紹有關Python網絡爬蟲的相關知識,同時實現一次爬取豆瓣影評評論,并運用可視化庫生成詞云,并對其進行分析。

關鍵詞:網絡爬蟲;Python;可視化

中圖分類號:TP393.092;TP391.3? ? ? 文獻標識碼:A 文章編號:2096-4706(2019)20-0026-03

Abstract:With the advent of the era of big data and artificial intelligence,how to effectively acquire and utilize information has become a challenge,and online crawlers have become more and more popular and favored by people. Python stands out in the direction of web crawlers with its simple and powerful features. This article will introduce you to the Python web crawler and implement a crawling Douban review commentary and use the visual library to generate a word cloud to analyze it.

Keywords:web crawler;Python;visualization

0? 引? 言

網絡爬蟲是一種“古老”的網絡技術,它伴隨著互聯網的發展而不斷演化,隨著大數據時代的來臨,爬蟲技術又迎來了新一波的振興浪潮。在大數據架構中,數據的收集與存儲占據著極為重要的核心位置,而爬蟲技術也在這兩項技術層次中占據極為重要的位置。爬蟲是請求網站并提取數據的自動化程序。請求、提取與自動化變成了爬蟲的關鍵。本文將介紹網絡爬蟲及其應用,以及Python的網絡爬蟲實現。

1? 網絡爬蟲及其應用

網絡爬蟲,又稱為網絡機器人或者網頁蜘蛛,是一種按照一定規則自動抓取萬維網信息的程序或者腳本。網絡爬蟲大致可以分為通用網絡爬蟲、聚焦網絡爬蟲、增量式網絡爬蟲以及深層網絡爬蟲等類型。在實際的網絡爬蟲系統中,通常是結合了幾種爬蟲技術實現的。

通用型網絡爬蟲的典型的應用便是搜索引擎,例如百度、谷歌等,但是該類爬蟲存在許多弊端。例如,不同的用戶對于檢索具有不同的需求和目的,而通用搜索引擎返回的結果包含大量無用的網頁;再如,由于圖片、音頻、視頻等多媒體數據的不斷涌現,通用搜索引擎不能很好地發現和獲取信息等等。為了解決以上弊端,聚焦爬蟲應運而生,它根據既定的抓取目標對萬維網上的相關網頁與鏈接進行有選擇的訪問,并獲取所需信息。增量式爬蟲是指對已下載網頁采取增量式更新,對于沒有變化的網頁并不重新下載,大大減少了下載量,也減少了時間與空間的浪費,但同時增加了算法和實現的復雜度。對于Web頁面,其存在方式有表層和深層網頁,深層網頁不能僅僅通過靜態網頁鏈接獲取,其數據隱藏在表單之后,只有通過用戶提交相關必要關鍵詞才能獲取,因此需要深層網絡爬蟲技術的支持。

以通用網絡爬蟲為例,網絡爬蟲基本工作流程為:選取種子URL(可以由用戶人為指定,也可以由用戶指定的某幾個初始爬取網頁決定);將其放入待抓取URL隊列;讀取URL;解析DNS;得到主機IP;下載對應網頁;存儲網頁;分析已抓取的URL,并從中分析出其他鏈接的URL,同時比較去重;將去重后的URL再次放入到待抓取URL隊列,進入下一次循環。通用網絡爬蟲結構流程如圖1所示。

2? Python實現網絡爬蟲

開發網絡爬蟲的語言有很多,常見的開發語言有Python、Java、PHP、Node.JS、C++以及Go等語言。本文主要闡述基于Python的網絡爬蟲,Python語言的特點是簡單易學、代碼簡潔并且框架非常豐富,同時Python之所以強大并能夠在網絡爬蟲中占據一席之地,與其強大的第三方庫是分不開的。Python為爬蟲提供了豐富的第三方庫,其中較為常用的Python中爬蟲三大庫,即Requests庫、Beautiful Soup庫以及lxml庫。根據實際需求可選用相應爬蟲庫進行實現。Python實現網絡爬蟲的基本流程如圖2所示。

(1)發送請求:即發送一個Request;

(2)獲取相應內容:即得到Response;

(3)解析內容:對于HTML數據使用re模塊或第三方庫等;

(4)保存數據:數據庫或者文件中保存。

網絡連接其需要計算機與服務器端的各一次的Request請求和Response回應。同理,爬蟲也需要這個過程,即模擬計算機向服務器段發起Request請求和接收服務器端返回的Response內容并對其進行解析,從而提取所需要的信息。在網絡爬蟲的爬取過程中,比如聚焦網絡爬蟲中,爬取網頁的順序尤其重要,而爬取的順序一般由爬取策略來決定。爬行策略有很多種,包括廣度優先爬行策略、深度優先爬行策略、大站優先爬行策略(按照對應的網頁所屬的站點進行分類,網頁數量多的站點稱為大站,即網頁越多的優先爬?。?、反鏈爬行策略(反向鏈接的網頁數越多的優先爬取)以及OPIC策略、Partial策略和PageRank策略等爬行策略。本文將以基于Python循環抓取豆瓣影評中所有觀眾的評論,將其存儲在文本文件中,并以運用可視化庫詞云制作詞語圖為例,詳細介紹基于Python的網絡爬蟲過程。

2.1? 內容簡介

(1)目標網站:本文目標為抓取豆瓣影評中所有觀眾的評論,將其存儲在文本文件中,并運用可視化庫詞云制作詞語圖,其目標網站為https://movie.douban.com/subject/27195020/comments?start=;

(2)使用軟件:本文采用Python語言來實現目標網站的網絡爬取過程,Python開發的軟件有很多,包括最為常用的IDE為PyCharm,以及文本編輯器Sublime Text,由于代碼相對簡單,本文采用的軟件為Sublime Text;

(3)Python版本:目前,Python版本分為兩種,Python 2版本和Python 3.x版本,目前Python 2版本的所有項目都將向Python 3.x遷移,并且Python 2版本已經停止更新和支持,故本文采用Python版本為Python 3.6;

(4)涉及Python類庫:上文已經提到過,Python網絡爬蟲依賴于其強大的第三方庫的支持,包括Requests、Beautiful Soup和lxml等,本文同時用到的第三方爬蟲庫有Requests和lxml。除以上爬蟲相關的第三方庫外,本文還用到wordcloud,該庫用于制作可視化詞云,Numpy庫用于對爬取到數據進行數據分析,PIL庫用于圖像處理,以及jieba庫用于自然語言的分詞處理。

2.2? 實現思路

抓取豆瓣影評中所有觀眾的評論,將其存儲在文本文件中,并運用可視化庫詞云制作詞語圖,根據其目標要求以及爬蟲基本流程,設計以下實現思路:

(1)安裝并導入相應類庫:使用pip命令安裝相應第三方庫,包括Requests、lxml、wordcloud、Numpy以及jieba,安裝后使用import導入所有用到的類庫;

(2)確定網頁:根據目標網站來確定所要爬取的目標網頁;

(3)獲取請求頭:

headers={

"User-Agent":"Mozilla/5.0(Windows NT 10.0;WOW64)"

"AppleWebKit/537.36(KHTML,like Gecko)"

"Chrome/63.0.3239.132 Safari/537.36"

}

User-Agent字段是用來告知網站站長爬蟲自己的身份信息的,網站管理員可以通過爬蟲告知的身份信息對爬蟲的身份進行識別,此為爬蟲的身份識別過程。也有些爬蟲可以偽裝成其他身份去進行網站爬取,并以此來獲得額外的數據。雖然任意爬取在技術上可以實現,但是并不提倡,因為共同營造一個良好的網絡環境,并遵守規則,才能實現爬方與服務方的共贏;

(4)解決反爬機制并循環獲取所有頁面;

(5)運用XPath獲取短評:XPath是xml的路徑語言,簡而言之就是通過元素的路徑來查找到這個標簽元素;

(6)存入txt文檔:將爬取到的所有信息保存到txt文檔中;

(7)對文檔短評進行分詞:使用jieba庫,對保存下來的短評txt文檔進行分詞,分詞后,在單獨個體之間添加空格;

(8)制作并生成詞云:通過wordcloud庫進行詞云的制作,選好詞云形狀圖片,設置詞云字體,剔除如“真的”“什么”“但是”“而且”“那么”等無關字。設置詞云背景色等,最終制作并生成詞云可視化圖片。

根據以上實現思路,使用Python完成代碼編寫,其部分實現核心代碼如圖3所示。

2.3? 運行結果

通過對代碼的不斷調試與測試,最終實現了基于Python的網絡爬蟲運行程序,得到短評txt文檔,根據文檔內容生成的詞云效果圖如圖4和圖5所示。

3? 結? 論

隨著大數據與人工智能時代的來臨,以及海量數據的不斷涌現,快速準確地獲取用戶想要的信息變得尤為迫切和重要,從而使得網絡爬蟲技術的應用日益增多,本文詳細介紹了網絡爬蟲的相關分類及其應用,同時著重闡述了基于Python的網絡爬蟲,描述了其爬蟲原理及流程,最后本文通過基于Python的豆瓣影評的爬取并進行存儲,最終實現詞云可視化效果,同時詳細闡述了基于Python的網絡爬蟲技術的實現細節及過程,效果良好。

參考文獻:

[1] 常逢佳,李宗花,文靜,等.基于Python的招聘數據爬蟲設計與實現 [J/OL].軟件導刊:1-4.[2019-08-13].http://kns.cnki.net/kcms/detail/42.1671.TP.20190731.1013.042.html.

[2] 張露.網絡爬蟲技術在大數據審計中的應用 [J].合作經濟與科技,2019(7):190-192.

[3] 李俊華.基于Python的數據分析 [J].電子技術與軟件工程,2018(17):167.

作者簡介:李俊華(1988-),女,漢族,黑龍江哈爾濱人,講師,碩士研究生,研究方向:大數據、Python。

猜你喜歡
可視化
自然資源可視化決策系統
北京測繪(2022年6期)2022-08-01 09:19:06
思維可視化
師道·教研(2022年1期)2022-03-12 05:46:47
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
自然資源可視化決策系統
北京測繪(2021年7期)2021-07-28 07:01:18
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
主站蜘蛛池模板: 国产日产欧美精品| 欧美A级V片在线观看| 色综合久久无码网| 99性视频| 国产欧美视频综合二区| 亚洲欧美综合另类图片小说区| 少妇露出福利视频| 九九九精品成人免费视频7| 91成人在线观看视频| 久久综合成人| 韩国福利一区| 2021天堂在线亚洲精品专区 | 综合色88| 国产91精选在线观看| 久久久成年黄色视频| 久久不卡国产精品无码| 日本免费高清一区| 国产网友愉拍精品视频| 成人无码一区二区三区视频在线观看| 国产凹凸视频在线观看| 美女无遮挡免费网站| 欧美亚洲一二三区| 精品黑人一区二区三区| 久久动漫精品| 久久人搡人人玩人妻精品| 97综合久久| 成人免费一区二区三区| 少妇极品熟妇人妻专区视频| 国产亚洲视频免费播放| 国内精品九九久久久精品 | 成人看片欧美一区二区| 日韩大乳视频中文字幕| 五月天久久综合| 丁香五月婷婷激情基地| 欧洲熟妇精品视频| 青青草国产精品久久久久| 男女猛烈无遮挡午夜视频| 欧美亚洲另类在线观看| 丁香六月激情综合| 中国一级毛片免费观看| 亚洲天堂自拍| 国产精品毛片一区| 国产毛片久久国产| 亚洲欧洲AV一区二区三区| 亚洲一区二区约美女探花| 精品91视频| 3D动漫精品啪啪一区二区下载| 日韩精品中文字幕一区三区| 一级看片免费视频| 国产在线观看一区二区三区| 亚洲综合九九| 欧美色综合网站| 日韩毛片免费| 97一区二区在线播放| 久久综合丝袜日本网| 特级aaaaaaaaa毛片免费视频| 亚洲无码A视频在线| 日韩欧美网址| 激情综合网址| 性色一区| 青青国产在线| 国产农村1级毛片| 波多野结衣视频网站| 亚洲欧美日韩视频一区| 免费看美女毛片| 成人精品区| 亚洲有无码中文网| 伊人色在线视频| 国产乱子伦手机在线| 欧美亚洲国产视频| 久久精品中文字幕少妇| 亚洲综合专区| www.狠狠| 国产成人精品一区二区| 老司机午夜精品视频你懂的| 久久午夜夜伦鲁鲁片无码免费| 色135综合网| 国产天天射| 97久久精品人人| 黄色网址免费在线| 午夜免费视频网站| 亚洲国产综合精品一区|