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

基于Python的數據爬蟲的設計與實現

2020-12-09 05:43:08楊國軍
數字技術與應用 2020年10期
關鍵詞:實現設計

摘要:本文針對互聯網的海量數據信息查找、搜索繁瑣的問題,提出通過網絡爬蟲的理念,模仿人的過程來幫助人們查找更有價值的數據信息,節約時間,提高工作效率。并針對網絡爬蟲的概念,工作原理,以及系統分析設計與實現進行了詳細的分析和討論,并提出行之有效的實現方案。

關鍵詞:python;爬蟲系統;設計;實現

中圖分類號:TP312.1? ? 文獻標識碼:A? ? 文章編號:1007-9416(2020)10-0000-00

當代萬維網和互聯網技術發展迅猛,海量數據讓人們的工作和生活反而變得繁瑣,為了更好的找到對我們有利用價值的數據和信息,使用手動操作會過于繁瑣。如在瀏覽微博網站時,發現很多評論比較有值得我們分析的地方,需要下載到本地,為此通過網絡爬蟲的理念,模仿人來幫助人們查找數據,減輕搜索時間,提高工作效率。

1 網絡爬蟲

網絡爬蟲其實就是模仿人來對我們想要訪問的網頁內容進行訪問,模仿人來獲取我們需要的數據,并將這些數據下載并保存到我們想要存放的地方,有時我們需要獲取的數量很龐大而依靠我們自己進行操作就會顯得很繁瑣,所以我們需要用到爬蟲來獲取大量的數據[1]。

本網絡爬蟲設計是一個能夠對網頁實現自動提取的程序,在搜索引擎中,從萬維網上它能為其下載網頁,也是組成搜索引擎的重要部分。本軟件由Python語言進行開發,并采用已有的比較成熟的requests模塊、pandas模塊對指定新浪微博評論的獲取以及進行簡單的分析,將我們所需要的數據下載到本地,并將我們獲得的數據以TXT和Excel的形式更加清晰的呈現出來。

網絡爬蟲(web crawler)又稱為網絡蜘蛛(web spider)或網絡機器人(web robot),另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或蠕蟲,同時它也是“物聯網”概念的核心之一。網絡爬蟲本質上是一段計算機程序或腳本,其按照一定的邏輯和算法規則自動地抓取和下載我們所需要的萬維網的網頁,是搜索引擎的一個重要組成部分。網絡爬蟲類似于一個搜索引擎來模仿人瀏覽網頁是的狀態,并將我們需要獲取到的內容下載并保存下來。網絡爬蟲一般是根據預先設定的一個或若干個初始網頁的URL開始,然后按照一定的規則爬取網頁,獲取初始網頁上的URL列表,之后每當抓取一個網頁時,爬蟲會提取該網頁新的URL并放入到未爬取的隊列中去,然后循環的從未爬取的隊列中,取出一個URL再次進行新一輪的爬取,不斷的重復上述過程,直到隊列中的URL抓取完畢,或者達到其他的既定條件,爬蟲才會結束。

2 網絡爬蟲模型的分析與設計

2.1 模型分析

首先建立URL任務列表,即開始要爬取的URL。由URL任務列表開始,根據預先設定的深度爬取網頁,抓取網頁的過程中,不斷從當前的頁面上抽取新的url放入隊列中,直到滿足一定的停止條件。同時判斷URL是否重復,按照設定爬取的微博內容搜索頁面,然后對頁面進行分析,并提取我們所需要數據的相關URL,最后將所得URL返回任務列表[1]。之后將任務列表中URL重新開始爬取,從而使網絡爬蟲進行循環運行。

2.2 概要設計

確認了需要爬取的網站之后,下一步就是使用requests模塊對獲取到的url對應的網頁內容進行抓取。首先需要遍歷整個網頁的Html代碼,尋找我們需要下載的信息,包括評論者名稱,評論人的微博主頁鏈接,評論的內容,評論的時間,點贊數回復數以及我們爬取的微博鏈接,將其中的評論者的名稱,評論的內容還有爬取的微博鏈接生成一個TXT的文件,并將這個文件使用pandas中的DataFrame方法進行一個分析,將其他所有爬取到的內容提取出來使用openpyxl方法將所爬取到的所有內容導出到Excel并保存在Excel里面[2]。

2.3 程序流程設計

程序流程圖主要用來將程序在計算機上運行的具體步驟用圖形來表示,程序流程圖如圖1所示。

3 詳細設計與實現

3.1 目標網站URL

因為網頁端新浪微博的反爬蟲措施特別嚴厲,所以我們采取爬取相對難度較小反爬蟲措施不那么嚴厲的手機端新浪微博,目標網站的url地址為:“https://m.weibo.cn/”。

為了更加有效的找到關鍵字對應的信息,本項目中所有的URL不僅僅是目標網站的URL。由于遍歷整個網站需要消耗更多的資源,也并不能很好的體現Python的優勢,更是添加了開發的難度,選擇使用目標網站論壇自身的搜索板塊的URL,作為程序讀取的內容。這樣既可以降低工作量,也可以更加方便的抓取相關的信息。后續需要爬取其他微博下面的評論我們只需要將“https://m.weibo.cn/detail/***********”中的*****部分更換為我們需要爬取的相應的微博ID即可[3]。目標網站的URL地址如圖2所示。

3.2 爬取模塊

Requests是用python語言基于urllib編寫的,采用了Apache2Licensed開源協議的一個HTTP庫,與urllib相比起來requests使用起來更加的方便和簡潔,也可以為我們節約大量的時間。這里使用到了requests的get方法和post方法,其中get方法用來向我們需要訪問的微博URL傳遞訪問的請求,post方法用來向HTML網頁發送一個post請求。導入requests模塊如圖3所示。

3.3 偽裝time模塊

在實際使用中,因為不少的網站都具有反爬蟲的措施,為了能夠不被識別,將我們判定為爬蟲程序并將我們的IP封禁,我們需要將每次訪問偽裝成瀏覽器進行操作,并設置時間限制來訪問我們需要爬取數據的網站,防止被判定為程序抓取并屏蔽IP,這里就需要用到time模塊,使用time.sleep()方法來傳遞一個我們想要延遲幾秒來響應的參數。爬蟲中Time模塊的主要功能就是我們按照自己的意愿來設置爬蟲程序訪問我們需要訪問網站的時間間隔。另外本文中的time模塊也用來提取評論者評論該微博的詳細時間[3]。導入time模塊如圖4所示。

3.4 數據處理模塊

Pandas模塊是python中用于數據導入以及整理數據的模塊,對數據挖掘前期數據的處理十分有用。在Python中,pandas是基于numpy數組構建的,使數據預處理、清洗、分析工作變得更快更簡單。pandas是專門為處理表格和混雜數據設計的,而numpy更適合處理統一的數值數組數據,由于本文是爬取的手機端新浪微博評論,所以這里沒有使用到numpy而使用了pandas這種處理多種類型的數據的方法。pandas主要有series(一維數組),dataframe(二維數組),panel(三維數組),panel4D(四維數組),panelND(更多維數組)等數據結構,其中Series和DataFrame的應用最為廣泛。Series 是一維帶標簽的數組,它可以包含任何數據類型。包括整數,字符串,浮點數,Python 對象等。Series 可以通過標簽來定位。DataFrame是二維的帶標簽的數據結構,我們可以通過標簽來定位數據。本文也主要是使用了pandas中的DataFrame方法來使我們生成的TXT文件進行一個二維數組的處理,使我們能更清晰的看見我們爬取的數據。導入pandas模塊如圖5所示。

本文主要的研究內容是基于Python的數據爬蟲的設計與實現,在爬蟲開發前期,分析了幾個類似的爬蟲程序,在開發過程中,也運用互聯網查找相關技術方法解決一些問題,基本完成了爬蟲的主要功能。

參考文獻

[1] 川郭濤,黃銘鈞.社區網絡爬蟲的設計與實現[J].智能計算機與應用,2012,2(4):65-67.

[2] 廉捷,周欣,曹偉,等.新浪微博數據挖掘方案[J].清華大學學報:自然科學版,2011,51(10):1300- 1305.

[3] 劉艷平,俞海英,戎沁.Python模擬登錄網站并抓取網頁的方法[J].微型計算機應用,2015,31(1):58-60.

收稿日期:2020-09-12

作者簡介:楊國軍(1974—),男,四川內江人,碩士,副教授,研究方向:軟件工程,工作流技術。

Design?and?Implementation?of?Data?Crawler?Based?on?Python

YANG Guo-jun

(Neijiang?Normal?University, Neijiang Sichuan? 641112)

Abstract: This paper puts forward the idea of web crawler and imitates human process to help people find more valuable data information, save time and improve work efficiency. The concept, working principle, In view of the tedious problem of searching and searching massive data information on the Internet, system analysis, design and implementation of web crawler are analyzed and discussed in detail, and an effective implementation scheme is proposed.

Keywords: python; spider system ; design; realize

猜你喜歡
實現設計
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
辦公室人員尚需制定個人發展規劃
辦公室業務(2016年9期)2016-11-23 09:15:57
蘇州信息學院教務管理系統的設計與實現
如何實現人企合一
淺析鐵路通信傳輸的構成及實現方法
設計之味
舒適廣告(2008年9期)2008-09-22 10:02:48
主站蜘蛛池模板: v天堂中文在线| 91亚洲免费| 国产麻豆福利av在线播放| 91外围女在线观看| 久久国产乱子| 大香伊人久久| 日韩无码真实干出血视频| 国产91精选在线观看| 白浆免费视频国产精品视频 | 国产拍揄自揄精品视频网站| 男女精品视频| 97亚洲色综久久精品| 亚洲欧洲日产国码无码av喷潮| 欧美特级AAAAAA视频免费观看| 午夜少妇精品视频小电影| 精品剧情v国产在线观看| 国产国拍精品视频免费看| 欧美人与性动交a欧美精品| 国产精品jizz在线观看软件| 精品三级在线| 中文成人在线| 欧美人与动牲交a欧美精品| 青青久在线视频免费观看| 欧美日韩在线成人| 不卡无码h在线观看| 高清无码一本到东京热| 2021国产精品自产拍在线| 国产91无毒不卡在线观看| 538国产视频| 中文字幕色在线| 日韩黄色在线| 丁香婷婷激情综合激情| 波多野结衣久久高清免费| 伊人激情综合| 天天综合网亚洲网站| 国产中文一区a级毛片视频| 亚洲天堂日韩在线| 亚洲国产无码有码| 国产麻豆福利av在线播放| 国产精品男人的天堂| 五月婷婷导航| 色婷婷在线影院| 久久综合久久鬼| 四虎影视8848永久精品| 国产特级毛片aaaaaaa高清| 久久www视频| 久久久久国产精品熟女影院| 呦视频在线一区二区三区| 福利在线免费视频| 亚洲熟女中文字幕男人总站| 白浆视频在线观看| 国产精品香蕉在线| 19国产精品麻豆免费观看| 成年av福利永久免费观看| 国产波多野结衣中文在线播放| 波多野结衣视频一区二区| 国产成本人片免费a∨短片| 久久精品无码国产一区二区三区| 手机精品福利在线观看| 噜噜噜久久| 欧美成人午夜视频| 日本影院一区| 强奷白丝美女在线观看 | 国产啪在线91| 久久久久青草大香线综合精品| 欧洲在线免费视频| 极品国产一区二区三区| 精品一区国产精品| 2019国产在线| 精品天海翼一区二区| 中文字幕第1页在线播| 国产三级毛片| 亚洲视频在线青青| 国产成人无码Av在线播放无广告| 99在线视频精品| 国产欧美视频在线观看| 97se亚洲综合不卡| 欧美综合成人| 国产成人精品免费av| 亚洲不卡av中文在线| 国产香蕉国产精品偷在线观看| 特级做a爰片毛片免费69|