Python 超簡單爬取新浪微博數據 (高級版)

新浪微博的數據但是很是有價值的,你能夠拿來數據分析、拿來作網站、甚至是*****。不過不少人因爲技術限制,想要使用的時候只能使用複製粘貼這樣的笨方法。不要緊,如今就教你們如何批量爬取微博的數據,大大加快數據遷移速度!python

咱們使用到的是第三方做者開發的 爬蟲  weiboSpider(有 工具 固然要用 工具 啦)。這裏默認你們已經裝好了Python,若是沒有的話能夠看咱們以前的文章: Python詳細安裝指南 。mysql

1. 下載項目

進入下方的網址,點擊Download ZIP下載項目文件nginx

github.com/dataabc/wei…git

或者

你有git的話能夠在cmd/terminal中輸入如下命令安裝​github

git clone https://github.com/dataabc/weiboSpider.git 
複製代碼

​2.安裝依賴

將該項目壓縮包解壓後,打開你的cmd/Termianl進入該項目目錄,輸入如下命令:sql

pip install -r requirements.txt
複製代碼

便會開始安裝項目依賴,等待其安裝完成便可。json

3.設置cookie

打開weibospider文件夾下的weibospider.py文件,將"your cookie"替換成 爬蟲 微博的cookie,具體替換位置大約在weibospider.py文件的22行左右。cookie獲取方法:vim

3.1 登陸微博

3.2 按F12鍵或者右鍵頁面空白處—檢查,打開開發者 工具

3.3 選擇****network — 按F5刷新一下 — 選擇第一個文件 — 在右邊窗口找到cookie

而後替換大約在weibospider.py文件的22行左右的cookie,如圖所示:cookie

替換前:ide

替換後:

4.設置要爬的用戶user_id

4.1 獲取user_id

點開你但願爬取的用戶主頁,而後查看此時的url:

你會發現有一串數字在連接中,這個就是咱們要用到的userID, 複製便可。

4.2 設置要爬取的user_id

打開 config.json 文件,你會看到以下內容:

{
    "user_id_list": ["1669879400"], "filter": 1, "since_date": "2018-01-01", "write_mode": ["csv", "txt"], "pic_download": 1, "video_download": 1, "cookie": "your cookie", "mysql_config": { "host": "localhost", "port": 3306, "user": "root", "password": "123456", "charset": "utf8mb4" } } 複製代碼

下面講解每一個參數的含義與設置方法。

設置user_id_list:user_id_list是咱們要爬取的微博的id,能夠是一個,也能夠是多個,例如:

"user_id_list": ["1223178222", "1669879400", "1729370543"], 

上述代碼表明咱們要連續爬取user_id分別爲「1223178222」、 「1669879400」、 「1729370543」的三個用戶的微博。

user_id_list的值也能夠是文件路徑,咱們能夠把要爬的全部微博用戶的user_id都寫到txt文件裏,而後把文件的位置路徑賦值給user_id_list。

在txt文件中,每一個user_id佔一行,也能夠在user_id後面加註釋(可選),如用戶暱稱等信息,user_id和註釋之間必須要有空格,文件名任意,類型爲txt,位置位於本程序的同目錄下,文件內容示例以下:

1223178222 胡歌
1669879400 迪麗熱巴
1729370543 郭碧婷

假如文件叫user_id_list.txt,則user_id_list設置代碼爲:

"user_id_list": "user_id_list.txt", 

若是有須要還能夠設置Mysql數據  和MongoDB數據  寫入,若是不設置的話就默認寫入到txt和csv文件中。

5. 運行 爬蟲

打開cmd/terminal 進入該項目目錄,輸入:

python weibospider.py 複製代碼

便可開始爬取數據了,怎麼樣,是否是超級方便?並且你還能夠自定義爬取的信息,好比微博的起始時間、是否寫入數據  ,甚至能在它代碼的基礎上增長新的功能!(好比加個cookie池或者代理池之類的)

相關文章
相關標籤/搜索