GitHub:新浪微博爬蟲,用Python採集新浪微博數據

hello,小夥伴們,大家好,今天給大家分享的開源項目是:weiboSpider,看名字也可以猜到這個項目是做什麼的了!沒錯,這個開源項目就是採集新浪微博一個或多個用戶(如:胡歌、迪麗熱巴、郭碧婷)數據,並將結果信息寫入文件或數據庫,寫入信息幾乎包括用戶微博的所有數據,包括用戶信息和微博信息兩大類。這個開源項目需設置cookie來獲取微博訪問權限,後面會講解如何獲取cookie。如果不想設置cookie,可以使用免cookie版,二者功能類似。

具體的寫入文件類型如下:

  1. 寫入txt文件(默認)
  2. 寫入csv文件(默認)
  3. 寫入json文件(可選)
  4. 寫入MySQL數據庫(可選)
  5. 寫入MongoDB數據庫(可選)
  6. 下載用戶原創微博中的原始圖片(可選)
  7. 下載用戶轉發微博中的原始圖片(免cookie版特有)
  8. 下載用戶原創微博中的視頻(可選)
  9. 下載用戶轉發微博中的視頻(免cookie版特有)
  10. 下載用戶原創微博Live Photo中的視頻(免cookie版特有)
  11. 下載用戶轉發微博Live Photo中的視頻(免cookie版特有)

項目列表


自定義字段


本部分爲爬取到的字段信息說明,爲了與免cookie版區分,下面將兩者爬取到的信息都列出來。如果是免cookie版所特有的信息,會有免cookie標註,沒有標註的爲二者共有的信息。

用戶信息

  • 用戶id:微博用戶id,如"1669879400",其實這個字段本來就是已知字段
  • 暱稱:用戶暱稱,如"Dear-迪麗熱巴"
  • 性別:微博用戶性別
  • 生日:用戶出生日期
  • 所在地:用戶所在地
  • 學習經歷:用戶上學時學校的名字和時間
  • 工作經歷:用戶所屬公司名字和時間
  • 陽光信用(免cookie版):用戶的陽光信用
  • 微博註冊時間(免cookie版):用戶微博註冊日期
  • 微博數:用戶的全部微博數(轉發微博+原創微博)
  • 關注數:用戶關注的微博數量
  • 粉絲數:用戶的粉絲數
  • 簡介:用戶簡介
  • 主頁地址(免cookie版):微博移動版主頁url
  • 頭像url(免cookie版):用戶頭像url
  • 高清頭像url(免cookie版):用戶高清頭像url
  • 微博等級(免cookie版):用戶微博等級
  • 會員等級(免cookie版):微博會員用戶等級,普通用戶該等級爲0
  • 是否認證(免cookie版):用戶是否認證,爲布爾類型
  • 認證類型(免cookie版):用戶認證類型,如個人認證、企業認證、政府認證等
  • 認證信息:爲認證用戶特有,用戶信息欄顯示的認證信息

微博信息

  • 微博id:微博唯一標誌
  • 微博內容:微博正文
  • 頭條文章url:微博中頭條文章的url,若微博中不存在頭條文章,則值爲’’
  • 原始圖片url:原創微博圖片和轉發微博轉發理由中圖片的url,若某條微博存在多張圖片,每個url以英文逗號分隔,若沒有圖片則值爲"無"
  • 視頻url: 微博中的視頻url,若微博中沒有視頻,則值爲"無"
  • 微博發佈位置:位置微博中的發佈位置
  • 微博發佈時間:微博發佈時的時間,精確到分
  • 點贊數:微博被讚的數量
  • 轉發數:微博被轉發的數量
  • 評論數:微博被評論的數量
  • 微博發佈工具:微博的發佈工具,如iPhone客戶端、HUAWEI Mate 20 Pro等
  • 結果文件:保存在當前目錄weibo文件夾下以用戶暱稱爲名的文件夾裏,名字爲"user_id.csv"和"user_id.txt"的形式
  • 微博圖片:原創微博中的圖片和轉發微博轉發理由中的圖片,保存在以用戶暱稱爲名的文件夾下的img文件夾裏
  • 微博視頻:原創微博中的視頻,保存在以用戶暱稱爲名的文件夾下的video文件夾裏
  • 微博bid(免cookie版):爲免cookie版所特有,與本程序中的微博id是同一個值
  • 話題(免cookie版):微博話題,即兩個#中的內容,若存在多個話題,每個url以英文逗號分隔,若沒有則值爲’’
  • @用戶(免cookie版):微博@的用戶,若存在多個@用戶,每個url以英文逗號分隔,若沒有則值爲’’
  • 原始微博(免cookie版):爲轉發微博所特有,是轉發微博中那條被轉發的微博,存儲爲字典形式,包含了上述微博信息中的所有內容,如微博id、微博內容等等

運行環境


  • 開發語言:python2/python3
  • 系統: Windows/Linux/macOS

部署項目


源碼安裝

$ git clone https://github.com/dataabc/weiboSpider.git
$ cd weiboSpider
$ pip install -r requirements.txt

或者

$ python3 -m pip install weibo-spider

運行程序


源碼安裝的用戶可以在weiboSpider目錄運行如下命令,pip安裝的用戶可以在任意有寫權限的目錄運行如下命令

$ python3 -m weibo_spider

第一次執行,會自動在當前目錄創建config.json配置文件,配置好後執行同樣的命令就可以獲取微博了。如果你已經有config.json文件了,也可以通過config_path參數配置config.json路徑,運行程序,命令行如下:

$ python3 -m weibo_spider --config_path="config.json"

個性化定製程序(可選)


本部分爲可選部分,如果不需要個性化定製程序或添加新功能,可以忽略此部分。

本程序主體代碼位於weibo_spider.py文件,程序主體是一個 Spider 類,上述所有功能都是通過在main函數調用 Spider 類實現的,默認的調用代碼如下:

config = get_config()
wb = Spider(config)
wb.start()  # 爬取微博信息

用戶可以按照自己的需求調用或修改 Spider 類。通過執行本程序,我們可以得到很多信息。

定期自動爬取微博(可選)


要想讓程序每個一段時間自動爬取,且爬取的內容爲新增加的內容(不包括已經獲取的微博),請查看定期自動爬取微博

如何獲取cookie


要了解獲取cookie方法,請查看cookie文檔

如何獲取user_id


要了解獲取user_id方法,請查看user_id文檔,該文檔介紹瞭如何獲取一個及多個微博用戶user_id的方法。

開源地址:https://github.com/dataabc/weiboSpider

感興趣的老鐵不防去應用一下,一來可以參考一下作者的編碼風格,二來對剛剛入門或者是入門不久的朋友提供一個採集數據的思路。

今天的推薦不知道大家喜不喜歡?如果大家喜歡話,請在文章底部留言或點贊,以表示對我的支持,你們的留言,點贊,轉發關注是我持續更新的動力,peace!

關注公衆號回覆:"1024",免費領取一大波學習資源,先到先得哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章