Python 超简单爬取新浪微博数据
?
?
新浪微博的數(shù)據(jù)可是非常有價(jià)值的,你可以拿來(lái)數(shù)據(jù)分析、拿來(lái)做網(wǎng)站、甚至是*****。不過(guò)很多人由于技術(shù)限制,想要使用的時(shí)候只能使用復(fù)制粘貼這樣的笨方法。沒(méi)關(guān)系,現(xiàn)在就教大家如何批量爬取微博的數(shù)據(jù),大大加快數(shù)據(jù)遷移速度!
我們使用到的是第三方作者開(kāi)發(fā)的?爬蟲(chóng)?庫(kù)?weiboSpider(有?工具?當(dāng)然要用?工具?啦)。
1. 下載項(xiàng)目
進(jìn)入下方的網(wǎng)址,點(diǎn)擊Download ZIP下載項(xiàng)目文件
github.com/dataabc/wei…
?
或者
你有g(shù)it的話可以在cmd/terminal中輸入以下命令安裝
git?clone https://github.com/dataabc/weiboSpider.git?
2.安裝依賴
將該項(xiàng)目壓縮包解壓后,打開(kāi)你的cmd/Termianl進(jìn)入該項(xiàng)目目錄,輸入以下命令:
pip?install -r requirements.txt?
便會(huì)開(kāi)始安裝項(xiàng)目依賴,等待其安裝完成即可。
3.設(shè)置cookie
打開(kāi)weibospider文件夾下的weibospider.py文件,將"your cookie"替換成?爬蟲(chóng)?微博的cookie,具體替換位置大約在weibospider.py文件的22行左右。cookie獲取方法:
3.1 登錄微博
?
3.2 按F12鍵或者右鍵頁(yè)面空白處—檢查,打開(kāi)開(kāi)發(fā)者?工具
?
3.3 選擇****network —?按F5刷新一下 — 選擇第一個(gè)文件 — 在右邊窗口找到cookie
?
然后替換大約在weibospider.py文件的22行左右的cookie,如圖所示:
替換前:
?
替換后:
?
4.設(shè)置要爬的用戶user_id
4.1?獲取user_id
點(diǎn)開(kāi)你希望爬取的用戶主頁(yè),然后查看此時(shí)的url:
你會(huì)發(fā)現(xiàn)有一串?dāng)?shù)字在鏈接中,這個(gè)就是我們要用到的userID
?
4.2?設(shè)置要爬取的user_id
打開(kāi)?config.json?文件,你會(huì)看到如下內(nèi)容:
?
新浪微博的數(shù)據(jù)可是非常有價(jià)值的,你可以拿來(lái)數(shù)據(jù)分析、拿來(lái)做網(wǎng)站、甚至是*****。不過(guò)很多人由于技術(shù)限制,想要使用的時(shí)候只能使用復(fù)制粘貼這樣的笨方法。沒(méi)關(guān)系,現(xiàn)在就教大家如何批量爬取微博的數(shù)據(jù),大大加快數(shù)據(jù)遷移速度!
我們使用到的是第三方作者開(kāi)發(fā)的?爬蟲(chóng)?庫(kù)?weiboSpider(有?工具?當(dāng)然要用?工具?啦)。
1. 下載項(xiàng)目
進(jìn)入下方的網(wǎng)址,點(diǎn)擊Download ZIP下載項(xiàng)目文件
github.com/dataabc/wei…
?
或者
你有g(shù)it的話可以在cmd/terminal中輸入以下命令安裝
git?clone https://github.com/dataabc/weiboSpider.git?
2.安裝依賴
將該項(xiàng)目壓縮包解壓后,打開(kāi)你的cmd/Termianl進(jìn)入該項(xiàng)目目錄,輸入以下命令:
pip?install -r requirements.txt?
便會(huì)開(kāi)始安裝項(xiàng)目依賴,等待其安裝完成即可。
3.設(shè)置cookie
打開(kāi)weibospider文件夾下的weibospider.py文件,將"your cookie"替換成?爬蟲(chóng)?微博的cookie,具體替換位置大約在weibospider.py文件的22行左右。cookie獲取方法:
3.1 登錄微博
?
3.2 按F12鍵或者右鍵頁(yè)面空白處—檢查,打開(kāi)開(kāi)發(fā)者?工具
?
3.3 選擇****network —?按F5刷新一下 — 選擇第一個(gè)文件 — 在右邊窗口找到cookie
?
然后替換大約在weibospider.py文件的22行左右的cookie,如圖所示:
替換前:
?
替換后:
?
4.設(shè)置要爬的用戶user_id
4.1?獲取user_id
點(diǎn)開(kāi)你希望爬取的用戶主頁(yè),然后查看此時(shí)的url:
你會(huì)發(fā)現(xiàn)有一串?dāng)?shù)字在鏈接中,這個(gè)就是我們要用到的userID
?
4.2?設(shè)置要爬取的user_id
打開(kāi)?config.json?文件,你會(huì)看到如下內(nèi)容:
下面講解每個(gè)參數(shù)的含義與設(shè)置方法。
設(shè)置user_id_list:user_id_list是我們要爬取的微博的id,可以是一個(gè),也可以是多個(gè),例如:
"user_id_list": ["1223178222",?"1669879400",?"1729370543"],
上述代碼代表我們要連續(xù)爬取user_id分別為“1223178222”、 “1669879400”、 “1729370543”的三個(gè)用戶的微博。
user_id_list的值也可以是文件路徑,我們可以把要爬的所有微博用戶的user_id都寫(xiě)到txt文件里,然后把文件的位置路徑賦值給user_id_list。
在txt文件中,每個(gè)user_id占一行,也可以在user_id后面加注釋(可選),如用戶昵稱(chēng)等信息,user_id和注釋之間必需要有空格,文件名任意,類(lèi)型為txt,位置位于本程序的同目錄下,文件內(nèi)容示例如下:
1223178222 胡歌
1669879400 迪麗熱巴?
1729370543 郭碧婷
假如文件叫user_id_list.txt,則user_id_list設(shè)置代碼為:
"user_id_list":?"user_id_list.txt",
如果有需要還可以設(shè)置Mysql數(shù)據(jù)?庫(kù)?和MongoDB數(shù)據(jù)?庫(kù)?寫(xiě)入,如果不設(shè)置的話就默認(rèn)寫(xiě)入到txt和csv文件中。
下面講解每個(gè)參數(shù)的含義與設(shè)置方法。
設(shè)置user_id_list:user_id_list是我們要爬取的微博的id,可以是一個(gè),也可以是多個(gè),例如:
"user_id_list": ["1223178222",?"1669879400",?"1729370543"],
上述代碼代表我們要連續(xù)爬取user_id分別為“1223178222”、 “1669879400”、 “1729370543”的三個(gè)用戶的微博。
user_id_list的值也可以是文件路徑,我們可以把要爬的所有微博用戶的user_id都寫(xiě)到txt文件里,然后把文件的位置路徑賦值給user_id_list。
在txt文件中,每個(gè)user_id占一行,也可以在user_id后面加注釋(可選),如用戶昵稱(chēng)等信息,user_id和注釋之間必需要有空格,文件名任意,類(lèi)型為txt,位置位于本程序的同目錄下,文件內(nèi)容示例如下:
1223178222 胡歌
1669879400 迪麗熱巴?
1729370543 郭碧婷
假如文件叫user_id_list.txt,則user_id_list設(shè)置代碼為:
"user_id_list":?"user_id_list.txt",
如果有需要還可以設(shè)置Mysql數(shù)據(jù)?庫(kù)?和MongoDB數(shù)據(jù)?庫(kù)?寫(xiě)入,如果不設(shè)置的話就默認(rèn)寫(xiě)入到txt和csv文件中。
5. 運(yùn)行?爬蟲(chóng)
打開(kāi)cmd/terminal 進(jìn)入該項(xiàng)目目錄,輸入:
python?weibospider.py
即可開(kāi)始爬取數(shù)據(jù)了,怎么樣,是不是超級(jí)方便?而且你還可以自定義爬取的信息,比如微博的起始時(shí)間、是否寫(xiě)入數(shù)據(jù)?庫(kù)?,甚至能在它代碼的基礎(chǔ)上增加新的功能!(比如加個(gè)cookie池或者代理池之類(lèi)的)
?
總結(jié)
以上是生活随笔為你收集整理的Python 超简单爬取新浪微博数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: uboot中 使用i2c
- 下一篇: websocket python爬虫_p