據(jù))
B站評論采集終極指南用BilibiliCommentScraper一鍵拿到完整評論數(shù)據(jù)【免費下載鏈接】BilibiliCommentScraperB站視頻評論爬蟲 Bilibili完整爬取評論數(shù)據(jù)包括一級評論、二級評論、昵稱、用戶ID、發(fā)布時間、點贊數(shù)項目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper凌晨一點運營崗的小王對著滿屏數(shù)據(jù)發(fā)呆。老板丟給他一個任務分析競品視頻的評論區(qū)搞清楚用戶到底在抱怨什么。他打開視頻一看——評論區(qū) 8000 多條手動復制到天亮也復制不完。好不容易找到一個號稱免費爬蟲的小工具裝上跑了一小時只拿到前 30 條二級評論全是空的評論區(qū)里用戶互相回復的對話關系徹底丟失。這種看得見、拿不到的憋屈感凡是做過 B 站數(shù)據(jù)采集的人都懂。今天要介紹的BilibiliCommentScraper就是專門解決這個問題的開源工具它能模擬真人瀏覽網(wǎng)頁把 B 站視頻的一級評論、二級評論、昵稱、用戶ID、發(fā)布時間、點贊數(shù)全部完整抓下來還支持批量處理與斷點續(xù)爬。這篇文章不堆術語我用大白話帶你從零跑通第一個采集任務。30秒看懂這個工具能干什么先給結論再展開。下面是 BilibiliCommentScraper 的核心能力速覽讀完這張表你就知道它值不值得繼續(xù)看下去核心能力具體表現(xiàn)你能得到什么批量采集 ?一個video_list.txt文件放多個視頻鏈接每個視頻自動生成一個獨立的 CSV 文件層級完整 一級評論 二級評論全部抓取評論的誰回復誰關系不丟失字段豐富 9 個字段昵稱、用戶ID、內容、時間、點贊數(shù)等拿到的數(shù)據(jù)可直接做分析斷點續(xù)爬 ?進度自動寫入progress.txt程序中斷后接著跑不從頭再來自動重試 ?網(wǎng)頁崩潰、網(wǎng)絡波動會自動重啟瀏覽器可以放心掛機跑一整晚一句話總結你負責把視頻鏈接填進去剩下的事它自己干。跑完回來每個視頻的完整評論已經(jīng)靜靜躺在 CSV 文件里了。上圖就是工具產出的真實數(shù)據(jù)每一行是一條評論隸屬關系列清楚標出它是一級評論還是二級評論如果是一條二級評論被評論者昵稱和被評論者ID會記錄它回復的是誰。這種層級結構正是很多簡單爬蟲給不了你的。幕后原理它憑什么能做到完整很多朋友一聽到爬蟲就頭皮發(fā)麻其實 BilibiliCommentScraper 的原理一點也不玄乎我用三個生活化的比喻講清楚。① 它像一位看得見的搬運工而不是隔空取物的黑客工具底層用的是 Selenium——一個能驅動真實 Chrome 瀏覽器的庫。它會真的打開一個瀏覽器窗口像人一樣滾動頁面、點擊查看全部回復按鈕、翻二級評論的頁碼。B 站網(wǎng)頁加載多少它就能看到多少所以能拿到的數(shù)據(jù)遠比 API 接口給的多。這也是它能抓到二級評論的根本原因它走的不是后門而是正門只是手速比人快得多。② 它像快遞分揀員把每件包裹放進對應格子瀏覽器加載出頁面后工具會用 BeautifulSoup 把網(wǎng)頁代碼拆開按照 B 站固定的頁面結構把每條評論的昵稱、ID、內容、時間、點贊數(shù)分揀進對應字段再一行行寫進 CSV。整個過程就像分揀員看包裹上的地址標簽往對應的格子里一放簡單直接。③ 它隨身帶著記賬本和通行證記賬本就是progress.txt每爬完一條評論就記一筆賬比如已經(jīng)爬完第 2 個視頻的第 15 條一級評論。程序中斷了沒關系下次運行先翻記賬本從上次停下的地方繼續(xù)。通行證就是cookies.pkl第一次運行時讓你掃碼登錄一次之后它把登錄憑證存成文件下次自動帶上不用反復登錄。明白了這三點你就知道它完整、能續(xù)、不怕斷的底氣從哪來了。接下來我們動手跑一遍。分步實操從安裝到拿到第一份評論數(shù)據(jù)整個過程大概 10 分鐘跟著做就行。每一步我都標了成功標志方便你確認自己走對了。第 1 步準備環(huán)境你需要兩樣東西Python 3.8 或更高版本以及一個最新版 Chrome 瀏覽器。沒有 Python 的話去官網(wǎng)下載安裝包時記得勾選Add Python to PATH。第 2 步獲取工具并安裝依賴打開命令行依次執(zhí)行git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper cd BilibiliCommentScraper pip install selenium beautifulsoup4 webdriver-manager?成功標志看到Successfully installed ...一類的提示且當前文件夾里能看到Bilicomment.py這個文件。別擔心 webdriver-manager 是什么它是幫你自動匹配 Chrome 瀏覽器驅動的小助手裝好后你完全不用手動下載任何東西。第 3 步填寫視頻列表用記事本打開video_list.txt每行放一個 B 站視頻鏈接想爬幾個就放幾個https://www.bilibili.com/video/BV17M41117eg https://www.bilibili.com/video/BV1QF411q73H https://www.bilibili.com/video/BV1c14y147g6?成功標志文件保存后每行一個鏈接沒有空行和多余字符。這一步很關鍵鏈接格式錯了對應視頻會被跳過并記進video_errorlist.txt。第 4 步運行并完成登錄python Bilicomment.py程序會先彈出一個瀏覽器窗口控制臺提示請登錄登錄成功跳轉后按回車鍵繼續(xù)…。這時你掃碼登錄自己的 B 站賬號登錄一次即可之后自動復用跳轉成功后再回到命令行按回車。?成功標志控制臺開始滾動打印下滑滾動第 N 次、每寫完一條評論的進度提示??吹竭@些說明它已經(jīng)開爬了你可以去泡杯茶。第 5 步查看結果每個視頻跑完后代碼同級目錄下會出現(xiàn)一個以視頻ID命名的 CSV 文件例如BV17M41117eg.csv。用記事本或 VS Code 打開就能看到完整數(shù)據(jù)如果堅持用 Excel請用數(shù)據(jù)→從文本/CSV 導入并選擇 UTF-8 編碼避免中文亂碼。?成功標志文件里有 9 列數(shù)據(jù)且隸屬關系列同時出現(xiàn)一級評論和二級評論說明層級結構抓全了。進階技巧錦囊4 個讓效率翻倍的小招下面這些技巧按場景→做法→效果展開你遇到對應情況時直接取用即可。技巧 1爬熱門視頻總被 B 站冷處理場景評論量幾萬的大熱視頻跑著跑著控制臺就長時間沒動靜了。做法把代碼里的固定延時改成隨機延時。先在文件頂部加import random再把需要延時的地方改成time.sleep(random.uniform(1, 5))。效果請求節(jié)奏變得像真人操作一樣不規(guī)律被識別為機器人的概率大幅下降。技巧 2某個視頻爬失敗想直接跳過它場景第 3 個視頻一直報錯你想先跳過它爬后面的。做法打開progress.txt把video_count的值加 1保存后重新運行。效果程序會直接跳到下一個視頻從頭開始爬不浪費一秒鐘。技巧 3電腦配置一般怕爬崩場景筆記本內存只有 8G滾動加載太多評論怕瀏覽器崩潰。做法把代碼里的MAX_SCROLL_COUNT 45調小到 20 或 30把max_sub_pages 150調成 50。效果單次加載量變小內存占用明顯下降程序更穩(wěn)代價是單視頻最多抓取的評論數(shù)相應減少適合先跑通流程的場景。技巧 4想快速知道評論總數(shù)和熱度分布場景數(shù)據(jù)拿到手了想先看一眼整體情況。做法用 pandas 三行代碼搞定import pandas as pd df pd.read_csv(BV17M41117eg.csv, encodingutf-8) print(len(df), df[點贊數(shù)].mean())效果立刻得到總評論數(shù)和平均點贊數(shù)判斷這個視頻的互動質量再決定要不要深入分析。真實案例拆解從原始 CSV 到一條結論光說功能不夠我們模擬一個完整場景假設你是內容創(chuàng)作者想看看自己那條結石科普視頻IDBV17M41117eg的觀眾反饋。跑完工具后CSV 里大概是這樣的編號隸屬關系被評論者昵稱昵稱評論內容發(fā)布時間點贊數(shù)1一級評論up主鄭路過的2021/9/10 23:20876862二級評論鄭用戶A你好我們旅途同歸天堂沒有病痛2021/9/11 6:3654113二級評論鄭用戶B結石真的疼啊2021/9/11 6:56717拿到這份數(shù)據(jù)你的分析思路可以這樣走import pandas as pd df pd.read_csv(BV17M41117eg.csv, encodingutf-8) # 1. 看結構一級、二級評論各多少 print(df[隸屬關系].value_counts()) # 2. 看熱度點贊最高的 5 條評論 print(df.nlargest(5, 點贊數(shù))[[昵稱, 評論內容, 點贊數(shù)]]) # 3. 看時間規(guī)律 df[發(fā)布時間] pd.to_datetime(df[發(fā)布時間]) print(df[發(fā)布時間].dt.hour.value_counts().sort_index())最后你得出的結論可能是這樣的觀眾在疼痛感和治療經(jīng)歷兩個話題上討論最熱烈二級評論里大量是病友互相安慰的對話評論高峰出現(xiàn)在晚間 20 點到 23 點說明下一條視頻可以選在這個時段發(fā)布。這份結論如果靠手動復制評論至少要大半天而用 BilibiliCommentScraper你只需要在跑數(shù)據(jù)的時間里去準備視頻腳本。工具把最枯燥的部分做完了你只需專注思考。避坑與急救箱問題速查卡以下是新手最容易遇到的 4 個問題按癥狀—原因—解法整理遇到直接對號入座。癥狀原因解法CSV 用 Excel 打開全是亂碼Excel 默認按系統(tǒng)編碼打開而文件是 UTF-8用記事本或 VS Code 打開或 Excel 用數(shù)據(jù)→從文本/CSV導入并選 UTF-8報錯Permission deniedCSV 或 progress.txt 被其他程序占用關閉占用文件的程序包括正開著的 Excel必要時以管理員身份運行程序長時間無輸出請求太頻繁被 B 站限流或要輸驗證碼直接重啟程序它會斷點續(xù)爬若頻繁發(fā)生改用隨機延時爬到的數(shù)量比頁面顯示的少B 站評論數(shù)本身有虛標部分評論被隱藏或刪除手動滾動到頁面底部核對最后幾條評論是否與 CSV 末尾一致一致即說明已完整還有兩個小提醒一級評論的被評論者昵稱和被評論者ID會顯示up主這是程序主動寫入的標記不是爬蟲數(shù)據(jù)如果爬取超大熱度的視頻時頁面反復崩潰優(yōu)先把MAX_SCROLL_COUNT調小。延伸與邊界它擅長什么不擅長什么誠實地說BilibiliCommentScraper 不是萬能的了解它的邊界能幫你少走彎路。它擅長的事批量抓取多個視頻的完整評論尤其是二級評論這是很多同類工具做不到的長時間掛機運行斷點續(xù)爬 自動重試的組合很適合夜里跑、白天看結果的工作流提供結構化的 CSV 數(shù)據(jù)直接對接 pandas、Excel 等分析工具它的局限本質是模擬瀏覽器比直接調 API 慢評論量極大的視頻需要較長等待時間需要本機有 Chrome 和 Python 環(huán)境且依賴登錄態(tài)cookies 失效時需要重新登錄抓取上限受參數(shù)控制默認約 920 條一級評論二級評論默認最多 150 頁這些都可以在代碼里調整可以拓展的方向拿到 CSV 后你可以進一步做情感分析判斷評論褒貶、詞云可視化提煉高頻詞、或者按時間戳做發(fā)布時段優(yōu)化。工具負責采集分析的自由度完全在你手里。現(xiàn)在就可以開始的第一步BilibiliCommentScraper 最大的價值就一句話它把拿全 B 站評論這件事從手動地獄變成了全自動流水線你只需要填鏈接、跑一次、拿數(shù)據(jù)?,F(xiàn)在你要做的第一步很簡單打開命令行執(zhí)行git clone https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper然后往video_list.txt里放進第一個你想分析的視頻鏈接運行python Bilicomment.py。建議先挑一個評論量幾百條的小視頻試水跑通全流程后再上熱門視頻——十分鐘后你手里就會多出一份別人熬夜復制都拿不到的完整評論數(shù)據(jù)?!久赓M下載鏈接】BilibiliCommentScraperB站視頻評論爬蟲 Bilibili完整爬取評論數(shù)據(jù)包括一級評論、二級評論、昵稱、用戶ID、發(fā)布時間、點贊數(shù)項目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCommentScraper創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考