新浪微博的數據但是很是有價值的,你能夠拿來數據分析、拿來作網站、甚至是*****。不過不少人因爲技術限制,想要使用的時候只能使用複製粘貼這樣的笨方法。不要緊,如今就教你們如何批量爬取微博的數據,大大加快數據遷移速度!python
咱們使用到的是第三方做者開發的 爬蟲 庫 weiboSpider(有 工具 固然要用 工具 啦)。這裏默認你們已經裝好了Python,若是沒有的話能夠看咱們以前的文章: Python詳細安裝指南 。mysql
進入下方的網址,點擊Download ZIP下載項目文件nginx
你有git的話能夠在cmd/terminal中輸入如下命令安裝github
git clone https://github.com/dataabc/weiboSpider.git
複製代碼
將該項目壓縮包解壓後,打開你的cmd/Termianl進入該項目目錄,輸入如下命令:sql
pip install -r requirements.txt
複製代碼
便會開始安裝項目依賴,等待其安裝完成便可。json
打開weibospider文件夾下的weibospider.py文件,將"your cookie"替換成 爬蟲 微博的cookie,具體替換位置大約在weibospider.py文件的22行左右。cookie獲取方法:vim
而後替換大約在weibospider.py文件的22行左右的cookie,如圖所示:cookie
替換前:ide
替換後:
點開你但願爬取的用戶主頁,而後查看此時的url:
你會發現有一串數字在連接中,這個就是咱們要用到的userID, 複製便可。
打開 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文件中。
打開cmd/terminal 進入該項目目錄,輸入:
python weibospider.py 複製代碼
便可開始爬取數據了,怎麼樣,是否是超級方便?並且你還能夠自定義爬取的信息,好比微博的起始時間、是否寫入數據 庫 ,甚至能在它代碼的基礎上增長新的功能!(好比加個cookie池或者代理池之類的)