小紅書數據采集終極指南:5分鐘快速掌握Python自動化工具
小紅書數據采集終極指南5分鐘快速掌握Python自動化工具【免費下載鏈接】xhs基于小紅書 Web 端進行的請求封裝。https://reajason.github.io/xhs/項目地址: https://gitcode.com/gh_mirrors/xh/xhs想要輕松獲取小紅書公開數據進行內容分析和市場研究嗎xhs項目為你提供了一個簡單高效的Python解決方案。這個開源工具封裝了小紅書Web端的請求接口讓你能夠以編程方式訪問筆記、用戶、搜索等數據無需手動操作網頁。無論你是數據分析師、內容創作者還是產品經理都能通過這個工具快速獲取所需的小紅書數據為你的決策提供有力支持。為什么選擇小紅書數據采集工具在當今社交媒體分析領域小紅書已經成為不可忽視的內容平臺。傳統的網頁爬蟲開發需要處理復雜的反爬機制和頻繁的接口變更而xhs工具幫你解決了這些痛點功能特點傳統方法xhs工具接口穩定性需要頻繁維護封裝官方接口穩定性高反爬處理手動處理驗證碼、簽名自動簽名驗證機制數據完整性可能缺失字段完整的數據結構開發效率數天到數周幾分鐘上手維護成本持續投入開源社區維護重要提示本工具僅用于學習和研究目的請遵守小紅書平臺的使用條款不要對網站造成壓力或進行未經授權的活動。快速開始5分鐘上手小紅書數據采集安裝步驟超簡單首先確保你已安裝Python 3.7或更高版本然后只需要一行命令pip install xhs如果你想要最新版本可以直接從Git倉庫安裝pip install githttps://gitcode.com/gh_mirrors/xh/xhs獲取必要的認證信息要使用這個工具你需要準備兩個關鍵信息Cookie- 從小紅書網站獲取的登錄憑證簽名函數- 處理請求簽名的函數別擔心這些聽起來復雜其實很簡單Cookie可以通過瀏覽器開發者工具獲取而簽名函數項目已經提供了示例。第一個采集腳本讓我們寫一個最簡單的示例獲取單篇筆記的詳細信息from xhs import XhsClient # 初始化客戶端 cookie 你的小紅書cookie xhs_client XhsClient(cookie) # 獲取筆記詳情 note_id 6505318c000000001f03c5a6 note_data xhs_client.get_note_by_id(note_id) print(f筆記標題{note_data.get(title, 無標題)}) print(f作者{note_data.get(user, {}).get(nickname, 匿名)}) print(f點贊數{note_data.get(likes, 0)})核心功能深度解析1. 筆記數據獲取 小紅書數據采集工具提供了多種獲取筆記數據的方式按ID獲取單篇筆記# 獲取指定ID的筆記 note xhs_client.get_note_by_id(筆記ID) # 獲取筆記中的圖片URL from xhs import help image_urls help.get_imgs_url_from_note(note)獲取用戶發布的筆記列表# 獲取用戶的所有筆記 user_notes xhs_client.get_user_notes(用戶ID, page1)按關鍵詞搜索筆記# 搜索美妝相關的筆記 search_results xhs_client.get_note_by_keyword( keyword美妝, page1, sortgeneral # 排序方式general(綜合)、time(時間) )2. 用戶信息分析 了解創作者信息對于內容分析至關重要# 獲取用戶基本信息 user_info xhs_client.get_user_info(用戶ID) print(f用戶名{user_info[nickname]}) print(f粉絲數{user_info[fans]}) print(f獲贊數{user_info[likes]}) print(f筆記數{user_info[notes]})3. 內容分類瀏覽 ?工具內置了多種內容分類讓你可以按興趣領域獲取內容from xhs import FeedType # 獲取穿搭類內容 fashion_notes xhs_client.get_home_feed(FeedType.FASION) # 獲取美食類內容 food_notes xhs_client.get_home_feed(FeedType.FOOD) # 獲取旅行類內容 travel_notes xhs_client.get_home_feed(FeedType.TRAVEL)支持的內容分類包括穿搭FASION美食FOOD彩妝COSMETICS影視MOVIE職場CAREER情感EMOTION家居HOURSE游戲GAME旅行TRAVEL健身FITNESS實際應用場景案例場景1競品內容分析假設你是一家美妝品牌的市場人員想了解競品在小紅書上的表現import pandas as pd from datetime import datetime, timedelta def analyze_competitor_content(competitor_id, days30): 分析競品最近30天的內容表現 all_notes [] current_page 1 while True: notes xhs_client.get_user_notes(competitor_id, pagecurrent_page) if not notes: break # 過濾最近30天的筆記 cutoff_date datetime.now() - timedelta(daysdays) recent_notes [ note for note in notes if datetime.fromtimestamp(note[time]/1000) cutoff_date ] all_notes.extend(recent_notes) current_page 1 # 創建數據分析表 df pd.DataFrame(all_notes) # 計算關鍵指標 avg_likes df[likes].mean() avg_comments df[comments].mean() avg_shares df[shares].mean() return { total_notes: len(df), avg_likes: round(avg_likes, 2), avg_comments: round(avg_comments, 2), avg_shares: round(avg_shares, 2), best_performing: df.loc[df[likes].idxmax()] }場景2熱門話題追蹤追蹤特定話題的熱度變化發現內容趨勢def track_topic_trend(keyword, days7): 追蹤話題7天內的熱度變化 daily_data {} for i in range(days): date datetime.now() - timedelta(daysi) date_str date.strftime(%Y-%m-%d) # 搜索當天相關筆記 results xhs_client.get_note_by_keyword( keywordkeyword, page1, sorttime ) daily_data[date_str] { total_notes: len(results), avg_likes: sum(n[likes] for n in results) / max(len(results), 1), top_note: max(results, keylambda x: x[likes]) if results else None } return daily_data常見問題與解決方案Q1: 如何獲取有效的CookieA: 登錄小紅書網頁版后按F12打開開發者工具在Network標簽中找到任意請求復制Request Headers中的Cookie字段即可。Q2: 遇到簽名失敗錯誤怎么辦A: 簽名失敗通常是因為簽名函數配置問題。項目提供了完整的簽名示例你可以參考 example/basic_usage.py 中的實現。Q3: 請求頻率有限制嗎A: 為了避免對小紅書服務器造成壓力建議添加適當的請求間隔如1-3秒避免短時間內大量請求同一接口使用代理IP輪換如果需要大量采集Q4: 數據采集的合法性如何A: 請務必注意僅采集公開數據不要用于商業侵權用途遵守robots.txt協議尊重用戶隱私Q5: 如何保存采集的數據A: 建議使用以下格式保存數據import json import csv # 保存為JSON格式 with open(notes.json, w, encodingutf-8) as f: json.dump(notes_data, f, ensure_asciiFalse, indent2) # 保存為CSV格式 import pandas as pd df pd.DataFrame(notes_data) df.to_csv(notes.csv, indexFalse, encodingutf-8-sig)進階使用技巧1. 錯誤處理與重試機制from xhs.exception import DataFetchError, IPBlockError import time def safe_get_note(note_id, max_retries3): 安全獲取筆記帶重試機制 for attempt in range(max_retries): try: return xhs_client.get_note_by_id(note_id) except (DataFetchError, IPBlockError) as e: if attempt max_retries - 1: raise wait_time 2 ** attempt # 指數退避 print(f請求失敗{wait_time}秒后重試...) time.sleep(wait_time)2. 批量處理與進度顯示from tqdm import tqdm def batch_process_notes(note_ids): 批量處理筆記顯示進度條 results [] for note_id in tqdm(note_ids, desc處理筆記): try: note xhs_client.get_note_by_id(note_id) results.append(note) time.sleep(1) # 避免請求過快 except Exception as e: print(f處理筆記 {note_id} 失敗: {e}) return results3. 數據清洗與格式化def clean_note_data(raw_note): 清洗和格式化筆記數據 cleaned { note_id: raw_note.get(id, ), title: raw_note.get(title, ).strip(), author: raw_note.get(user, {}).get(nickname, ), publish_time: datetime.fromtimestamp( raw_note.get(time, 0) / 1000 ).strftime(%Y-%m-%d %H:%M:%S), likes: raw_note.get(likes, 0), comments: raw_note.get(comments, 0), shares: raw_note.get(shares, 0), collects: raw_note.get(collects, 0), tags: [tag.get(name, ) for tag in raw_note.get(tag_list, [])], image_count: len(raw_note.get(images, [])), video_url: raw_note.get(video, {}).get(url, ) if raw_note.get(video) else } # 計算互動率 total_interactions cleaned[likes] cleaned[comments] cleaned[shares] cleaned[interaction_rate] round(total_interactions / max(cleaned[likes], 1), 4) return cleaned最佳實踐建議數據采集策略分時段采集避免在高峰時段集中請求增量更新只采集新增或更新的內容數據驗證定期檢查數據完整性和準確性備份機制定期備份已采集的數據性能優化優化方向具體措施預期效果請求優化合并相似請求減少請求次數30%緩存策略本地緩存已獲取數據降低重復請求50%并發控制合理設置并發數提升采集速度2-3倍錯誤恢復實現斷點續采避免重復工作合規使用指南?可以做的采集公開的筆記數據進行研究分析用于個人學習和小規模項目遵守平臺的robots.txt規則?禁止做的大規模商業數據采集侵犯用戶隱私對服務器造成壓力違反平臺用戶協議資源與支持官方文檔項目的完整API文檔可以在 docs/source/xhs.rst 找到包含了所有類和方法的詳細說明。示例代碼項目提供了豐富的示例代碼幫助你快速上手example/basic_usage.py - 基礎使用示例example/login_qrcode.py - 二維碼登錄示例example/basic_sign_server.py - 簽名服務器示例核心源碼如果你想深入了解實現原理可以查看核心源碼xhs/core.py - 主要功能實現xhs/help.py - 輔助函數測試用例項目包含完整的測試用例確保代碼質量tests/test_xhs.py - 主要功能測試tests/test_help.py - 輔助函數測試總結小紅書數據采集工具為你提供了一個強大而靈活的數據獲取方案。通過這個工具你可以快速獲取小紅書平臺的公開數據深度分析內容趨勢和用戶行為自動化處理重復的數據采集任務構建應用基于小紅書數據的分析系統記住技術只是工具如何使用它才是關鍵。始終將合規性和道德考量放在首位用技術創造價值而不是問題。希望這個工具能幫助你在小紅書數據分析的道路上走得更遠、更穩如果你在使用過程中遇到問題或者有改進建議歡迎參與項目的開發和討論。開源社區的力量能讓這個工具變得更加強大和完善。【免費下載鏈接】xhs基于小紅書 Web 端進行的請求封裝。https://reajason.github.io/xhs/項目地址: https://gitcode.com/gh_mirrors/xh/xhs創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考

相關新聞

攪拌設備機架各材質優缺點詳解

攪拌設備機架各材質優缺點詳解

結合豐享攪拌設備落地工況,針對以上五種常用機架材質,逐一拆解真實優點、行業短板、適用邊界,解決選型低配生銹、高配浪費、材質用錯變形腐蝕等問題。1、普通噴漆碳鋼 Q235-B優點:成本最低、焊接性能好、整體剛性穩定、不易變形、…

2026/8/2 6:05:00 閱讀更多
BuildArena:基于物理仿真的LLM智能體工程基準測試平臺

BuildArena:基于物理仿真的LLM智能體工程基準測試平臺

1. 項目緣起:當大模型遇上物理世界,我們到底在測什么?最近兩年,大語言模型(LLM)在文本生成、代碼編寫、邏輯推理上的表現讓人眼花繚亂。但如果你問一個在建筑工地、工廠產線或者復雜設備裝配現場摸爬滾打多…

2026/8/2 6:05:00 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應用材料(Applied Materials)公司生產的一款用于半導體設備的I/O信號分配電路板。該型號(0100-02186)的核心特點如下:專用于Endura等半導體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/2 2:51:21 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機是日本日清(Nissei)品牌的一款工業用三相異步電機,適用于自動化設備及通用機械驅動。該型號(FFMN-32L-10-T0 40AX)的核心特點如下:三相交流異步電動機。額定…

2026/8/2 2:52:49 閱讀更多