新浪微博的資料可是非常有價值的,你可以拿來資料分析、拿來做網站、甚至是*****。不過很多人由於技術限制,想要使用的時候只能使用複製貼上這樣的笨方法。沒關係,現在就教大家如何批量爬取微博的資料,大大加快資料遷移速度!
我們使用到的是第三方作者開發的爬蟲庫weiboSpider(有工具當然要用工具啦)。這裡預設大家已經裝好了Python,如果沒有的話可以看我們之前的文章:Python詳細安裝指南。
1. 下載專案
進入下方的網址,點選Download ZIP下載專案檔案
github.com/dataabc/weiboSpider
或者
你有git的話可以在cmd/terminal中輸入以下命令安裝
git clone https://github.com/dataabc/weiboSpider.git
2.安裝依賴
將該專案壓縮包解壓後,開啟你的cmd/Termianl進入該專案目錄,輸入以下命令:
pip install -r requirements.txt
便會開始安裝專案依賴,等待其安裝完成即可。
3.設定cookie
開啟weibospider資料夾下的weibospider.py檔案,將”your cookie”替換成爬蟲微博的cookie,具體替換位置大約在weibospider.py檔案的22行左右。cookie獲取方法:
3.1 登入微博
3.2 按F12鍵或者右鍵頁面空白處—檢查,開啟開發者工具
3.3 選擇**network — 按F5重新整理一下 — 選擇第一個檔案 — 在右邊視窗找到cookie**
然後替換大約在weibospider.py檔案的22行左右的cookie,如圖所示:
替換前:
替換後:
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池或者代理池之類的)
我們的文章到此就結束啦,如果你希望我們今天的Python 教程,請持續關注我們,如果對你有幫助,麻煩在下面點一個贊/在看哦有任何問題都可以在下方留言區留言,我們都會耐心解答的!
Python實用寶典 (pythondict.com)
不只是一個寶典
歡迎關注公眾號:Python實用寶典
原文來自Python實用寶典:Python 爬取新浪微博
本作品採用《CC 協議》,轉載必須註明作者和本文連結
Python實用寶典, pythondict.com