亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于網(wǎng)絡(luò)爬蟲的新浪微博數(shù)據(jù)抓取技術(shù)

        2019-02-18 01:15:52王金峰彭禹王明鐘聲趙雪輝
        關(guān)鍵詞:新浪微博網(wǎng)絡(luò)爬蟲大數(shù)據(jù)

        王金峰 彭禹 王明 鐘聲 趙雪輝

        【摘 要】隨著人工智能和大數(shù)據(jù)時(shí)代的到來,各種數(shù)據(jù)都變得越來越重要。新浪微博作為國(guó)內(nèi)最大的社交平臺(tái)之一,因?yàn)槠鋼碛写罅坑脩簦刻於籍a(chǎn)生著龐大的數(shù)據(jù),所以如何快速獲取到這些數(shù)據(jù)并實(shí)現(xiàn)結(jié)構(gòu)化的存儲(chǔ)以便后續(xù)利用是一個(gè)挑戰(zhàn)。論文對(duì)微博網(wǎng)頁(yè)端平臺(tái)進(jìn)行分析,選用Scrapy框架和Requests、Selenium等工具,提出了對(duì)微博數(shù)據(jù)進(jìn)行抓取的高可行性方案,該方案能夠?qū)崿F(xiàn)多用戶同時(shí)抓取,獲得微博用戶的關(guān)系數(shù)據(jù)和微博內(nèi)容等。

        【關(guān)鍵詞】網(wǎng)絡(luò)爬蟲;新浪微博;大數(shù)據(jù)

        【Keywords】web crawler; sina microblog; big data

        【中圖分類號(hào)】TP311.1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?【文獻(xiàn)標(biāo)志碼】A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文章編號(hào)】1673-1069(2019)01-0162-02

        1 引言

        隨著移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展,人們?cè)絹碓蕉嗟卦谏缃痪W(wǎng)絡(luò)上發(fā)表自己的見解,分享自己的生活,與他人進(jìn)行交流討論。新浪微博作為國(guó)內(nèi)最大的社交平臺(tái)之一,同時(shí)也成了各類消息發(fā)布的最主要渠道之一。截至2017年9月,微博月活躍用戶3.76億,日活躍用戶1.65億,每天都有用戶發(fā)布上億條微博,評(píng)論、轉(zhuǎn)發(fā)或點(diǎn)贊其他微博。一個(gè)如此龐大和公開的社交平臺(tái),每天都能產(chǎn)生海量信息,能為各種輿情監(jiān)控、商業(yè)推廣分析、自然語(yǔ)言處理等系統(tǒng)提供大量的數(shù)據(jù)支持[1]。在國(guó)外,開展了針對(duì)于Twitter和

        Facebook等社交平臺(tái)的一系列研究,但是不同于國(guó)外的Twitter和Facebook等平臺(tái),微博官方并沒有提供相關(guān)接口給人們下載與微博相關(guān)的數(shù)據(jù)集,并且微博的登錄、瀏覽等操作都有較敏感的反爬蟲機(jī)制,這給數(shù)據(jù)的采集帶來了困難,對(duì)普通的想獲取相關(guān)數(shù)據(jù)的人員來說是個(gè)極大的挑戰(zhàn)。因此,快速獲得微博數(shù)據(jù)的方法就是構(gòu)建一個(gè)穩(wěn)定高效的爬蟲抓取系統(tǒng)。

        2 網(wǎng)絡(luò)爬蟲

        2.1 原理

        網(wǎng)絡(luò)爬蟲(Web Crawler),是自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本,它們被廣泛用于互聯(lián)網(wǎng)搜索引擎或其他類似網(wǎng)站。爬蟲一般分為數(shù)據(jù)采集、處理和儲(chǔ)存三個(gè)部分。傳統(tǒng)爬蟲從一個(gè)或若干初始網(wǎng)頁(yè)的URL開始,獲得初始網(wǎng)頁(yè)上的URL,在抓取網(wǎng)頁(yè)的過程中,不斷從當(dāng)前頁(yè)面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件。

        2.2 網(wǎng)絡(luò)爬蟲框架Scrapy

        Scrapy是Python開發(fā)的一個(gè)快速、可擴(kuò)展的Web抓取框架,用于抓取Web站點(diǎn)并從頁(yè)面中提取結(jié)構(gòu)化的數(shù)據(jù)。通過Scrapy中的Spider模塊,能方便地定義網(wǎng)址爬取和數(shù)據(jù)提取的規(guī)則。

        3 微博爬蟲策略

        現(xiàn)在各種爬蟲的搜索策略[2]主要為:深度優(yōu)先搜索策略、廣度優(yōu)先搜索策略、非完全PageRank策略以及大站優(yōu)先搜索策略。

        微博跟其他普通網(wǎng)站相比,動(dòng)態(tài)性和網(wǎng)頁(yè)結(jié)構(gòu)都比較復(fù)雜,其對(duì)于爬蟲的防范也更加嚴(yán)格,普通的爬蟲程序一般不能直接獲取到相應(yīng)的網(wǎng)頁(yè)內(nèi)容,但其網(wǎng)頁(yè)內(nèi)容中的數(shù)據(jù)格式較為統(tǒng)一。所以,針對(duì)微博相關(guān)的瀏覽機(jī)制,運(yùn)用一些工具和方法,就可以較為方便地獲取到微博中的有關(guān)數(shù)據(jù)。

        3.1 微博爬取入口選擇

        微博網(wǎng)頁(yè)端基本分為PC端用戶入口(域名:weibo.com)和移動(dòng)端用戶入口(域名:weibo.cn)。這兩種頁(yè)面雖然展現(xiàn)內(nèi)容的方式和策略有所區(qū)別,但能獲取的數(shù)據(jù)基本相同,且由于PC入口為大多數(shù)網(wǎng)頁(yè)端用戶瀏覽微博的主要途徑,從安全性和用戶體驗(yàn)等角度考慮,該入口交互設(shè)計(jì)都更復(fù)雜,并設(shè)置有許多動(dòng)態(tài)刷新的內(nèi)容,這給數(shù)據(jù)的爬取造成了一定難度,而移動(dòng)端網(wǎng)頁(yè)可以直接發(fā)送不同的HTTP請(qǐng)求來獲取相應(yīng)的內(nèi)容[3],相比

        PC端而言,后者網(wǎng)頁(yè)結(jié)構(gòu)更加簡(jiǎn)單,設(shè)置的反爬措施也更少,所以選取通過移動(dòng)網(wǎng)頁(yè)入口來進(jìn)行數(shù)據(jù)的爬取和解析。

        3.2 微博登錄和爬取

        在微博中進(jìn)行網(wǎng)頁(yè)瀏覽是需要進(jìn)行登錄并保持登錄狀態(tài)的,否則是無法獲取到相關(guān)信息的。我們使用多個(gè)微博賬戶通過Selenium自動(dòng)化工具加Firefox瀏覽器無頭模式訪問微博登錄頁(yè)面進(jìn)行登錄,登錄成功后將其相應(yīng)的cookies保存起來。為了提高爬取的穩(wěn)定性和成功率,還需要建立一個(gè)User-Agent池,再對(duì)Scrapy的middlewares模塊進(jìn)行擴(kuò)展,在其中的process_request方法里對(duì)Scrapy的request加入自動(dòng)化登錄微博后獲得并已保存在數(shù)據(jù)庫(kù)的Cookies,在Scrapy請(qǐng)求微博服務(wù)器時(shí)使用一個(gè)可用的Cookies并隨機(jī)抽取一個(gè)User-Agent進(jìn)行偽裝,這樣就能順利訪問頁(yè)面,減少爬蟲請(qǐng)求被微博服務(wù)器屏蔽和賬戶被封號(hào)的概率。采用的抓取策略是廣度優(yōu)先搜索,通過社交關(guān)系[4],抓取用戶的關(guān)系數(shù)據(jù)。只要利用一小群“種子用戶”,每個(gè)用戶都對(duì)應(yīng)有一個(gè)微博ID,通過使用微博ID也就能獲得該用戶的全部個(gè)人信息和他所發(fā)布的微博。以某個(gè)“種子用戶”為起點(diǎn),獲得他的關(guān)注人和粉絲等關(guān)系[5],再對(duì)其好友進(jìn)行關(guān)系搜索,并按此方法遞歸爬取,將得到的用戶去重[6]和排序,加入待爬取的隊(duì)列,從而得到一個(gè)龐大的待爬取的用戶數(shù)據(jù)集。理論上,這可以爬取到微博上所有的用戶信息。

        4 微博數(shù)據(jù)抓取

        4.1 微博信息的爬取

        得到用戶ID后,就能通過發(fā)起不同的HTTP請(qǐng)求訪問他們的個(gè)人信息、微博列表、粉絲列表和關(guān)注列表等頁(yè)面,將頁(yè)面下載之后,能看到這些頁(yè)面都是有固定結(jié)構(gòu)的HTML代碼,只要在Scrapy里自定義的Spider中通過正則表達(dá)式或者Xpath等工具分別對(duì)Response結(jié)果進(jìn)行不同的解析,就能得到相應(yīng)的結(jié)構(gòu)化數(shù)據(jù)。

        一般的爬取只需保留四類數(shù)據(jù):①微博信息;②個(gè)人信息;③用戶關(guān)系(只保留關(guān)注者的信息);④微博評(píng)論信息。例如,微博信息主要抓取的是該用戶發(fā)布過的所有微博的內(nèi)容、時(shí)間、轉(zhuǎn)發(fā)數(shù)、評(píng)論數(shù)、點(diǎn)贊數(shù)、發(fā)布微博時(shí)的地點(diǎn)(經(jīng)緯度坐標(biāo))以及發(fā)布微博所用的設(shè)備或平臺(tái)等,如果是轉(zhuǎn)發(fā)微博,還可以獲得源微博的URL鏈接等。

        同時(shí),微博下面的評(píng)論與回復(fù)也可以按需求進(jìn)行抓取并以時(shí)間排序,作為對(duì)話語(yǔ)料數(shù)據(jù)保存。

        4.2 低價(jià)值信息的過濾

        微博中因?yàn)楦鞣N各樣的原因[7],通常會(huì)存在一些爬取價(jià)值不大的賬號(hào)和信息,例如,常見的無人使用的“僵尸賬號(hào)”或一些“惡意營(yíng)銷號(hào)”等,如果不加處理而直接爬取則會(huì)浪費(fèi)許多爬取性能和儲(chǔ)存空間,這就需要過濾待爬取的原數(shù)據(jù)。

        目前,在爬取過程中不能很好地識(shí)別或直接判斷無價(jià)值信息,但微博用戶可以設(shè)定某些條件來達(dá)到過濾的目的[8],如設(shè)置被爬取的主體賬號(hào)的粉絲和關(guān)注數(shù)閾值在5000之內(nèi),判斷其是否有正常的頭像,昵稱是否是常見的“垃圾賬號(hào)”類的昵稱等,也可針對(duì)不同的爬取需求來設(shè)置爬取對(duì)象的屬性,如地域、年齡、發(fā)布的微博數(shù)等,從而得到相應(yīng)的結(jié)果數(shù)據(jù)。

        5 結(jié)語(yǔ)

        本爬蟲從技術(shù)和思路上提供了獲取微博上相關(guān)數(shù)據(jù)的一些方法,對(duì)于中小型的數(shù)據(jù)需求有較好的適用性,并且基于Scrapy框架進(jìn)行了擴(kuò)展,相比于一般的爬蟲系統(tǒng),有著更好的應(yīng)對(duì)反爬蟲的機(jī)制,提高了爬取的效率和穩(wěn)定性。

        作為主流社交互動(dòng)平臺(tái),在當(dāng)今大數(shù)據(jù)時(shí)代,微博存在著巨大的可挖掘價(jià)值。如何提供更快、更準(zhǔn)確的數(shù)據(jù)爬取技術(shù),將會(huì)是今后極具研究?jī)r(jià)值和挑戰(zhàn)的方向。

        【參考文獻(xiàn)】

        【1】張賽,徐恪,李海濤.微博類社交網(wǎng)絡(luò)中信息傳播的測(cè)量與分析[J].西安交通大學(xué)報(bào),2013,47(2):124-130.

        【2】張俊林.這就是搜索引擎:核心技術(shù)詳解[M].北京:電子工業(yè)出版社,2012.

        【3】周立柱,林玲.聚焦爬蟲技術(shù)研究綜述[J].計(jì)算機(jī)應(yīng)用,2005,25(9):1965-1969.

        【4】劉玲,楊長(zhǎng)春.一種新的微博社區(qū)用戶影響力評(píng)估算法[J].計(jì)算機(jī)應(yīng)用與軟件,2017,34(7):212-216+261.

        【5】馮靜.微博用戶排名機(jī)制的研究[D].秦皇島:燕山大學(xué),2012.

        【6】嚴(yán)磊,丁賓,姚志敏,等.基于MD5去重樹的網(wǎng)絡(luò)爬蟲的設(shè)計(jì)與優(yōu)化[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(2):325-329+333.

        【7】劉晶,李琳,李石君.基于社交網(wǎng)絡(luò)大規(guī)模行為數(shù)據(jù)的用戶關(guān)系研究[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33(7):38-41.

        【8】康書龍,葉施仁,肖春.基于用戶質(zhì)量的微博社區(qū)博主影響力排序算法[J].計(jì)算機(jī)工程與應(yīng)用,2016,5(4):128-132.

        猜你喜歡
        新浪微博網(wǎng)絡(luò)爬蟲大數(shù)據(jù)
        煉鐵廠鐵量網(wǎng)頁(yè)數(shù)據(jù)獲取系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        新浪微博熱點(diǎn)事件的輿論傳播與群體心理
        新浪微博娛樂明星的社會(huì)網(wǎng)絡(luò)分析
        社交媒體平臺(tái)醫(yī)患關(guān)系報(bào)道特點(diǎn)研究
        今傳媒(2016年8期)2016-10-17 23:50:55
        基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
        科技視界(2016年20期)2016-09-29 10:53:22
        基于社會(huì)網(wǎng)絡(luò)分析的權(quán)威網(wǎng)頁(yè)挖掘研究
        主題搜索引擎中網(wǎng)絡(luò)爬蟲的實(shí)現(xiàn)研究
        微博的社會(huì)公信力現(xiàn)狀探究及其未來構(gòu)建研究
        商(2016年21期)2016-07-06 17:23:54
        淺析如何應(yīng)對(duì)網(wǎng)絡(luò)爬蟲流量
        日产精品久久久久久久蜜臀 | 久久婷婷五月综合97色直播| 男女车车的车车网站w98免费| 少妇AV射精精品蜜桃专区| 免费国产在线精品三区| 免费观看人妻av网站| 女人被爽到高潮视频免费国产| 国产极品久久久久极品| 久久丁香花综合狼人| 亚洲午夜经典一区二区日韩| 亚洲av乱码一区二区三区按摩| 日日噜噜夜夜爽爽| 亚洲欧美日韩中文综合在线不卡| 国产夫妻自偷自拍第一页| 97久久久久人妻精品区一| 婷婷综合缴情亚洲| 久久精品综合国产二区| 久久精品一区二区三区蜜桃| 无码丰满熟妇一区二区| 国产亚洲欧美在线| 区二区三区亚洲精品无| 色翁荡息又大又硬又粗视频| 97伦伦午夜电影理伦片| 国产欧美日韩专区毛茸茸| 精品亚洲一区二区三区在线播放| 中国老太婆bb无套内射| 久久综合给合久久狠狠狠97色69| 亚洲AV无码乱码一区二区三区 | 视频一区二区三区黄色| 专干老肥熟女视频网站300部| 毛片毛片免费看| 亚洲一区二区岛国高清| 成人一区二区免费中文字幕视频 | 伊人网视频在线观看| 日本人妻系列一区二区| 极品少妇被黑人白浆直流| 亚洲va中文字幕无码久久不卡 | 99riav国产精品视频| 男人和女人高潮免费网站| 中国老太老肥熟女视频| 极品嫩模大尺度av在线播放|