亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【附代碼】python爬取新浪微博(微博內容,微博評論,用戶信息等)并進

系統 7638 0

新浪微博數據抓取及情緒分析

  • 微博數據爬蟲
    • 開始爬蟲之前請先了解
    • 代碼實現
      • (一)利用高級搜索抓取指定微博
      • (二)抓取任意微博數據
  • 文本情緒分析
    • 工具及原理
    • 數據預處理和模型訓練


本文包含內容:借助Python抓取微博數據,可以實現對 微博用戶信息 , 微博內容,微博點贊數評論數轉發數,評論內容 等信息的抓取,并對抓取的數據進行情緒分析

代碼實現:微博用戶的行為與情感分析

爬蟲過程中如有問題請 留言 ,或者在github的代碼中開 issue ,我們會及時解答。


微博數據爬蟲

開始爬蟲之前請先了解

  • Q:有哪些微博提供的數據是我們可以利用的?
    A:微博數據可以分為幾類: 博文 相關數據, 用戶信息 數據,單條微博 評論 數據, 社交關系 網絡數據。
    博文相關數據 包括:微博的URL,微博作者的ID,微博的內容,發布的工具,微博發表時間,微博附帶圖的URL,轉發數,評論數,點贊數,是否是轉發的微博,源微博的URL
    用戶信息 數據包括:用戶ID,昵稱,所在省,所在市,個人簡介,生日,性別,會員等級,認證情況,微博發表數,粉絲數,關注數
    評論數據 包括:評論的URL,評論的用戶ID,weibo的URL,評論內容,評論創建時間
    社交關系 網絡數據包括:關注者的用戶ID,被關注者的用戶ID
  • Q:抓取哪個微博平臺的數據?
    A:微博包含有手機端,網頁端,即 weibo.cn weibo.com ,對于爬取微博的數據這一任務而言,選擇 weibo.cn 是最好的,其網頁結構更為簡單,解析網頁更為方便,并且幾乎包含了所有我們需要的數據,因此能用weibo.cn就不用其他的網站進行爬蟲。 【附代碼】python爬取新浪微博(微博內容,微博評論,用戶信息等)并進行情緒分析_第1張圖片
  • Q:微博爬蟲存在哪些難點?
    A:微博登錄是微博爬蟲的一個基礎,在爬蟲之前需要先實現微博的 自動登錄 ,weibo.cn 和 weibo.com 兩者的自動登錄方式是不一樣的,前者更為簡單,本文講解的是前者的數據爬蟲,其自動登錄方式為通過自動化工具 selenium 獲取 cookie ,之后攜帶cookie發出請求。
    另外,微博可能存在 封帳號 的問題,因此可以買好小號用 小號抓取數據 。微博小號購買地址
  • Q:使用的是什么工具?
    A:本文介紹的是使用 scrapy 框架構建爬蟲。給定初始的url,爬蟲工具就會將該頁面下載下來,并解析該頁面的信息,得到該頁面的微博數據,同時產生下一頁的地址,并接著去抓取下一頁
  • Q:如果需要抓取大量的微博數據,有什么注意事項?
    A:與其他網站不同,微博不會封IP,因此不用構建IP池,但是微博會存在封帳號的問題,因此需要構建一個 賬號池 ,并針對賬號池中的所有賬號獲取cookie并存儲。賬號購買地址上面已經提供了,本文在抓取數據時最多購買了40個賬號,進行多線程的大量微博數據抓取。

代碼實現

代碼實現地址:https://github.com/CUHKSZ-TQL/WeiboSpider_SentimentAnalysis

(一)利用高級搜索抓取指定微博

首先介紹附帶微博高級搜索功能的爬蟲步驟。請參考鏈接中的 WeiboSpider 文件夾中的內容。

高級搜索意味著在抓取微博時,可以對目標微博的 發布時間,發布地點,包含的關鍵詞,是否為熱門微博 等進行限制,可以縮小爬蟲范圍,并且更具有實用性。一般而言如果要對抓取的數據進行分析,都會采用這一方法來明確抓取的微博類型。
【附代碼】python爬取新浪微博(微博內容,微博評論,用戶信息等)并進行情緒分析_第2張圖片
本文提供的代碼可以抓取到 博文 相關數據, 用戶 相關數據以及 微博評論 相關數據。

步驟:

  1. 安裝依賴
    mongodb
    phantomjs
    redis
    requirements.txt

  2. 構建賬號池
    購買微博小號
    將賬號密碼復制到 WeiboSpider/sina/account_build/account.txt
    運行 WeiboSpider/sina/account_build/login.py
    運行成功會顯示cookie創建成功

  3. 修改 WeiboSpider/sina/redis_init.py 中的日期,關鍵詞,運行該文件進行微博檢索(代碼中默認抓取熱門微博,如需更改可將url中的sort設置為time)

  4. 開始爬蟲:
    運行 WeiboSpider/sina/spider/weibo_spider.py 抓取目標數據
    建議采取多線程同時抓取,提高速度
    Mac用戶在命令行中輸入 scrapy crawl weibo_spider
    Windows用戶在命令行中輸入 scrapy runspider weibo_spider.py

爬蟲過程截圖:
【附代碼】python爬取新浪微博(微博內容,微博評論,用戶信息等)并進行情緒分析_第3張圖片

(二)抓取任意微博數據

如果只是想要抓取任意微博,本文提供另外一種簡單的方法,可以抓取目標用戶的所有微博。請參考鏈接中的 WeiboSpiderSimple 文件夾中的內容。

步驟:

  1. 安裝依賴
    mongodb
    requirements.txt
  2. 訪問 https://weibo.cn/ 并登陸,獲取對應的cookie,將 WeiboSpiderSimple/sina/settings.py 中的cookie換成你自己獲取到的cookie
            
              DEFAULT_REQUEST_HEADERS = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:61.0) Gecko/20100101 Firefox/61.0',
    'Cookie':'OUTFOX_SEARCH_USER_ID_NCOO=1780588551.4011402; browser=d2VpYm9mYXhpYW4%3D; SCF=AsJyCasIxgS59OhHHUWjr9OAw83N3BrFKTpCLz2myUf2_vdK1UFy6Hucn5KaD7mXIoq8G25IMnTUPRRfr3U8ryQ.; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WFGJINkqaLbAcTzz2isXDTA5JpX5KMhUgL.Foq0e0571hBp1hn2dJLoIp7LxKML1KBLBKnLxKqL1hnLBoMpe0ec1h5feKMR; SUB=_2A252a4N_DeRhGeBI61EV9CzPyD-IHXVVly03rDV6PUJbkdAKLRakkW1NRqYKs18Yrsf_SKnpgehmxRFUVgzXtwQO; SUHB=0U15b0sZ4CX6O4; _T_WM=0653fb2596917b052152f773a5976ff4; _WEIBO_UID=6603442333; SSOLoginState=1536482073; ALF=1539074073'
}

            
          
  1. 指定爬取的用戶ID將 WeiboSpiderSimple/sina/spider/weibo_spider.py 中的 start_uids 換成你想抓取的對象的微博ID。
  2. 開始爬蟲,執行 scrapy crawl weibo_spider 或者直接在pycharm當中運行 WeiboSpiderSimple/sina/spider/weibo_spider.py

爬蟲過程截圖:
【附代碼】python爬取新浪微博(微博內容,微博評論,用戶信息等)并進行情緒分析_第4張圖片
【附代碼】python爬取新浪微博(微博內容,微博評論,用戶信息等)并進行情緒分析_第5張圖片
【附代碼】python爬取新浪微博(微博內容,微博評論,用戶信息等)并進行情緒分析_第6張圖片


文本情緒分析

工具及原理

基于Python的snowNLP庫作為情緒分析的模型。模型原理是機器學習中的樸素貝葉斯分類方法。在對文本進行分詞和去除停用詞等一系列基礎處理后,將單句評論的詞匯作為模型的特征:
( ω 1 , ω 2 , . . . , ω n ) (\omega_1,\omega_2,...,\omega_n) ( ω 1 ? , ω 2 ? , . . . , ω n ? ) 再利用樸素貝葉斯公式打分:
P ( C 1 ∣ ω 1 , ω 2 , . . . , ω n ) = P ( ω 1 ∣ C 1 ) . . . P ( ω n ∣ C 1 ) P ( C 1 ) P ( ω 1 ) . . . P ( ω n ) P(C_1|\omega_1,\omega_2,...,\omega_n)=\frac{P(\omega_1|C_1)...P(\omega_n|C_1)P(C_1)}{P(\omega_1)...P(\omega_n)} P ( C 1 ? ω 1 ? , ω 2 ? , . . . , ω n ? ) = P ( ω 1 ? ) . . . P ( ω n ? ) P ( ω 1 ? C 1 ? ) . . . P ( ω n ? C 1 ? ) P ( C 1 ? ) ? 其中 C 1 C_1 C 1 ? 代表積極類情緒,等式右邊的計算基于訓練好的模型,分數越高代表語句越積極。實際上是計算了訓練出的特征的條件概率。

數據預處理和模型訓練

  1. 利用 jieba 分詞工具進行分詞
  2. 使用哈工大停用詞表去除停用詞
  3. 基于 snowNLP 原有模型對數據進行積極和消極情感的分類
  4. 得到情感標簽后,計算每個詞在全部文本、積極文本和消極文本的頻率,用以訓練新的模型

代碼參考:Sentiment analysis.ipynb


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 男人都懂www深夜免费网站 | 日韩欧美国产一区二区三区四区 | 91资源在线 | 中文字幕日韩精品中文区 | 日韩精品中文字幕久久 | 久久精品国产亚洲香蕉 | 精品国产免费第一区二区三区日韩 | 色播综合 | 午夜剧j| 动漫精品欧美一区二区三区 | cao美女视频网站在线观看 | 久久精品卫校国产小美女 | 亚洲精品欧美精品一区二区 | 亚洲综合黄色 | 不卡视频在线播放 | 久久精品只有这里有 | 亚洲美女黄视频 | 国产精品a区 | 精品国产免费一区二区三区五区 | 精品综合久久久久久88小说 | 久久人与动人物a级毛片 | 伊人久久精品亚洲午夜 | 亚洲人妖女同在线播放 | 久久综合欧美成人 | 久久综合色之久久综合 | 摸逼综合网 | 日日摸夜夜爽夜夜爽出水 | 俄罗斯一级毛片免费播放 | 91精品视频在线免费观看 | 欧美一级一极性活片免费观看 | 亚洲精品欧美一区二区三区 | 九九九九在线精品免费视频 | 在线黄色影院 | 亚洲国产婷婷俺也色综合 | 欧美亚洲国产成人高清在线 | 久久99网站 | 日韩欧美aa级草草免费视频 | 亚洲高清国产一线久久 | 国产激情视频在线 | 国产欧美一区二区成人影院 | 亚洲成人免费观看 |