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

基于網絡爬蟲的新浪微博數據抓取技術

2019-01-27 09:12:27王金峰彭禹王明鐘聲趙雪輝
中小企業管理與科技 2019年1期
關鍵詞:頁面用戶策略

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

(1.防災科技學院,河北 廊坊 065201;2.河北女子職業技術學院,石家莊 050000)

1 引言

隨著移動互聯網的飛速發展,人們越來越多地在社交網絡上發表自己的見解,分享自己的生活,與他人進行交流討論。新浪微博作為國內最大的社交平臺之一,同時也成了各類消息發布的最主要渠道之一。截至2017年9月,微博月活躍用戶3.76億,日活躍用戶1.65億,每天都有用戶發布上億條微博,評論、轉發或點贊其他微博。一個如此龐大和公開的社交平臺,每天都能產生海量信息,能為各種輿情監控、商業推廣分析、自然語言處理等系統提供大量的數據支持[1]。在國外,開展了針對于Twitter和Facebook等社交平臺的一系列研究,但是不同于國外的Twitter和Facebook等平臺,微博官方并沒有提供相關接口給人們下載與微博相關的數據集,并且微博的登錄、瀏覽等操作都有較敏感的反爬蟲機制,這給數據的采集帶來了困難,對普通的想獲取相關數據的人員來說是個極大的挑戰。因此,快速獲得微博數據的方法就是構建一個穩定高效的爬蟲抓取系統。

2 網絡爬蟲

2.1 原理

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

2.2 網絡爬蟲框架Scrapy

Scrapy是Python開發的一個快速、可擴展的Web抓取框架,用于抓取Web站點并從頁面中提取結構化的數據。通過Scrapy中的Spider模塊,能方便地定義網址爬取和數據提取的規則。

3 微博爬蟲策略

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

微博跟其他普通網站相比,動態性和網頁結構都比較復雜,其對于爬蟲的防范也更加嚴格,普通的爬蟲程序一般不能直接獲取到相應的網頁內容,但其網頁內容中的數據格式較為統一。所以,針對微博相關的瀏覽機制,運用一些工具和方法,就可以較為方便地獲取到微博中的有關數據。

3.1 微博爬取入口選擇

微博網頁端基本分為PC端用戶入口(域名:weibo.com)和移動端用戶入口(域名:weibo.cn)。這兩種頁面雖然展現內容的方式和策略有所區別,但能獲取的數據基本相同,且由于PC入口為大多數網頁端用戶瀏覽微博的主要途徑,從安全性和用戶體驗等角度考慮,該入口交互設計都更復雜,并設置有許多動態刷新的內容,這給數據的爬取造成了一定難度,而移動端網頁可以直接發送不同的HTTP請求來獲取相應的內容[3],相比PC端而言,后者網頁結構更加簡單,設置的反爬措施也更少,所以選取通過移動網頁入口來進行數據的爬取和解析。

3.2 微博登錄和爬取

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

4 微博數據抓取

4.1 微博信息的爬取

得到用戶ID后,就能通過發起不同的HTTP請求訪問他們的個人信息、微博列表、粉絲列表和關注列表等頁面,將頁面下載之后,能看到這些頁面都是有固定結構的HTML代碼,只要在Scrapy里自定義的Spider中通過正則表達式或者Xpath等工具分別對Response結果進行不同的解析,就能得到相應的結構化數據。

一般的爬取只需保留四類數據:①微博信息;②個人信息;③用戶關系(只保留關注者的信息);④微博評論信息。例如,微博信息主要抓取的是該用戶發布過的所有微博的內容、時間、轉發數、評論數、點贊數、發布微博時的地點(經緯度坐標)以及發布微博所用的設備或平臺等,如果是轉發微博,還可以獲得源微博的URL鏈接等。

同時,微博下面的評論與回復也可以按需求進行抓取并以時間排序,作為對話語料數據保存。

4.2 低價值信息的過濾

微博中因為各種各樣的原因[7],通常會存在一些爬取價值不大的賬號和信息,例如,常見的無人使用的“僵尸賬號”或一些“惡意營銷號”等,如果不加處理而直接爬取則會浪費許多爬取性能和儲存空間,這就需要過濾待爬取的原數據。

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

5 結語

本爬蟲從技術和思路上提供了獲取微博上相關數據的一些方法,對于中小型的數據需求有較好的適用性,并且基于Scrapy框架進行了擴展,相比于一般的爬蟲系統,有著更好的應對反爬蟲的機制,提高了爬取的效率和穩定性。

作為主流社交互動平臺,在當今大數據時代,微博存在著巨大的可挖掘價值。如何提供更快、更準確的數據爬取技術,將會是今后極具研究價值和挑戰的方向。

猜你喜歡
頁面用戶策略
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
例談未知角三角函數值的求解策略
我說你做講策略
高中數學復習的具體策略
數學大世界(2018年1期)2018-04-12 05:39:14
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
Passage Four
主站蜘蛛池模板: 欧美一区二区福利视频| 中国成人在线视频| 久久女人网| 国产又粗又爽视频| 久久婷婷国产综合尤物精品| 久久综合色88| 伊大人香蕉久久网欧美| 国产女人18水真多毛片18精品| 在线播放91| 欧美午夜视频在线| 精品一区二区三区无码视频无码| 干中文字幕| 婷婷激情五月网| 国产丰满大乳无码免费播放 | 国内老司机精品视频在线播出| 国产精品一区二区在线播放| 亚洲国产成人自拍| 色135综合网| 人与鲁专区| 亚洲αv毛片| www中文字幕在线观看| 亚洲精品另类| 久久性视频| AV天堂资源福利在线观看| 无码有码中文字幕| 日韩小视频在线观看| 亚洲人成在线精品| 欧美日韩国产在线人成app| 在线看AV天堂| 最新国语自产精品视频在| 久久女人网| 久久99国产综合精品女同| 一边摸一边做爽的视频17国产| 婷婷中文在线| 91视频精品| 在线观看视频一区二区| 日韩成人午夜| 午夜高清国产拍精品| 91精品视频在线播放| 欧美日韩久久综合| 中文字幕在线免费看| AV无码一区二区三区四区| 青青草欧美| 男女猛烈无遮挡午夜视频| 欧美亚洲一区二区三区导航| 亚洲专区一区二区在线观看| 亚洲人成成无码网WWW| 国产视频大全| 国产精品密蕾丝视频| 国产无码网站在线观看| 青青久视频| 亚洲精品国产成人7777| 亚洲免费毛片| 欧美综合区自拍亚洲综合天堂| 国产综合亚洲欧洲区精品无码| 中文国产成人精品久久| 久久成人国产精品免费软件| 久久精品电影| 久久精品国产一区二区小说| 精品成人一区二区三区电影 | 久青草网站| 国产第一页第二页| 国产精品3p视频| 日本爱爱精品一区二区| 国产黄色片在线看| 91综合色区亚洲熟妇p| 538国产视频| 少妇露出福利视频| 91久久精品日日躁夜夜躁欧美| 日韩一级毛一欧美一国产| 亚洲欧洲免费视频| 亚洲国产理论片在线播放| 亚洲天堂网在线播放| 久久久久久高潮白浆| 91视频青青草| 国产情精品嫩草影院88av| 国产流白浆视频| 国产在线视频二区| 精品无码视频在线观看| 国产精品亚洲天堂| 制服丝袜一区| 欧美一区国产|