Python 超简单爬取新浪微博数据
?
?
新浪微博的數據可是非常有價值的,你可以拿來數據分析、拿來做網站、甚至是*****。不過很多人由于技術限制,想要使用的時候只能使用復制粘貼這樣的笨方法。沒關系,現在就教大家如何批量爬取微博的數據,大大加快數據遷移速度!
我們使用到的是第三方作者開發的?爬蟲?庫?weiboSpider(有?工具?當然要用?工具?啦)。
1. 下載項目
進入下方的網址,點擊Download ZIP下載項目文件
github.com/dataabc/wei…
?
或者
你有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?文件,你會看到如下內容:
?
新浪微博的數據可是非常有價值的,你可以拿來數據分析、拿來做網站、甚至是*****。不過很多人由于技術限制,想要使用的時候只能使用復制粘貼這樣的笨方法。沒關系,現在就教大家如何批量爬取微博的數據,大大加快數據遷移速度!
我們使用到的是第三方作者開發的?爬蟲?庫?weiboSpider(有?工具?當然要用?工具?啦)。
1. 下載項目
進入下方的網址,點擊Download ZIP下載項目文件
github.com/dataabc/wei…
?
或者
你有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: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文件中。
下面講解每個參數的含義與設置方法。
設置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 超简单爬取新浪微博数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: uboot中 使用i2c
- 下一篇: Python3-网页爬取-批量爬取贴吧页