Python爬虫实战:爬取小红书好物推荐+筛选高赞高收藏,避坑网红爆款
副标题新手零门槛用Selenium可视化操作避开90%反爬附保姆级步骤前言最近同事小美找我吐槽“小红书上的网红爆款太坑了看了100篇高赞笔记买回来的东西要么质量差要么根本不实用”我笑着说“这事儿交给Python啊用Selenium可视化操作1小时写个脚本一键爬取所有笔记筛选出真实高赞高收藏评论里有干货的商品再也不用被‘恰饭笔记’骗了”⚠️重要提醒必须先看本文仅供学习交流使用不要用于商业用途不要爬取大量数据建议只爬取1-2个关键词、10-20页笔记严格遵守小红书的用户协议和robots.txt不要给小红书服务器造成压力小红书反爬非常严本文的方法可能会随时失效失效后请自行调整。一、准备工作先把家伙事儿备齐新手15分钟搞定1. 安装Python和VS Code和之前的教程完全一样如果还没装翻回去看我前几篇的“准备工作”部分保姆级步骤零基础也能10分钟搞定。2. 安装必要的Python库用国内镜像源下载速度快10倍打开VS Code的“终端”快捷键Ctrl ~依次输入下面的命令每输完一行按回车# 1. 安装Selenium浏览器自动化工具可视化操作新手零门槛pipinstallselenium -i https://pypi.tuna.tsinghua.edu.cn/simple# 2. 安装webdriver-manager自动下载和管理浏览器驱动不用手动找版本pipinstallwebdriver-manager -i https://pypi.tuna.tsinghua.edu.cn/simple# 3. 安装pandas和openpyxl整理数据生成Excel表格pipinstallpandas openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple# 4. 安装fake_useragent自动生成随机浏览器请求头避开最简单的反爬pipinstallfake_useragent -i https://pypi.tuna.tsinghua.edu.cn/simple如果终端显示“Successfully installed xxx”就说明安装成功了3. 安装Chrome浏览器必须Selenium需要配合浏览器使用本文用Chrome浏览器最常用驱动最稳定如果还没装去官网下载安装https://www.google.cn/chrome/二、选一个你想爬的关键词比如“平价护肤品”、“租房好物”新手别选太火的关键词比如“2026必买”、“网红爆款”反爬太严建议选中等热度、垂直领域的关键词比如平价护肤品推荐租房收纳好物办公室摸鱼神器学生党宿舍好物今天我就用**“平价护肤品推荐”**做演示。三、写代码完整可运行附详细注释筛选高赞高收藏在VS Code里新建一个Python文件命名为xiaohongshu_spider.py把下面的代码复制进去我加了超级详细的注释零基础也能看懂# 1. 导入我们需要的库fromseleniumimportwebdriverfromselenium.webdriver.chrome.serviceimportServicefromselenium.webdriver.chrome.optionsimportOptionsfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimportKeysfromwebdriver_manager.chromeimportChromeDriverManagerfromfake_useragentimportUserAgentimporttimeimportrandomimportpandasaspdfromdatetimeimportdatetimedefscroll_down(driver,scroll_times5): 辅助函数模拟用户向下滚动页面加载更多笔记 :param driver: Selenium的浏览器驱动对象 :param scroll_times: 滚动次数建议3-10次不要滚太多 foriinrange(scroll_times):print(f正在向下滚动第{i1}/{scroll_times}次...)# 模拟用户滚动每次滚动随机高度更像真人driver.execute_script(fwindow.scrollTo(0, document.body.scrollHeight *{random.uniform(0.7,0.9)});)# 随机等待2-4秒加载笔记避开反爬time.sleep(random.uniform(2,4))# 再向上滚动一点模拟用户浏览driver.execute_script(fwindow.scrollTo(0, document.body.scrollHeight *{random.uniform(0.3,0.5)});)time.sleep(random.uniform(1,2))defget_xiaohongshu_notes(keyword,max_notes30,min_likes1000,min_collects500): 爬取指定关键词的小红书笔记筛选高赞高收藏保存为Excel :param keyword: 要爬的关键词比如“平价护肤品推荐” :param max_notes: 最多爬取的笔记数量建议20-50条不要爬太多 :param min_likes: 最低点赞数筛选条件可自行调整 :param min_collects: 最低收藏数筛选条件可自行调整 try:# 2. 配置Chrome浏览器选项避开反爬的核心uaUserAgent()chrome_optionsOptions()# 可选开启无头模式不显示浏览器窗口后台运行# chrome_options.add_argument(--headlessnew)# 禁用自动化标识让小红书以为是真人在操作chrome_options.add_experimental_option(excludeSwitches,[enable-automation])chrome_options.add_experimental_option(useAutomationExtension,False)chrome_options.add_argument(--disable-blink-featuresAutomationControlled)# 随机生成User-Agentchrome_options.add_argument(fuser-agent{ua.random})# 禁用图片加载加快速度减少带宽占用prefs{profile.managed_default_content_settings.images:2}chrome_options.add_experimental_option(prefs,prefs)# 3. 自动下载和启动Chrome浏览器驱动print(正在启动Chrome浏览器...)driverwebdriver.Chrome(serviceService(ChromeDriverManager().install()),optionschrome_options)# 4. 打开小红书首页print(正在打开小红书首页...)driver.get(https://www.xiaohongshu.com/)# 随机等待5-10秒给页面加载时间更像真人time.sleep(random.uniform(5,10))# 5. 搜索关键词print(f正在搜索关键词{keyword}...)# 找到搜索框小红书的搜索框ID通常是search-input如果失效了用开发者工具重新找search_boxdriver.find_element(By.ID,search-input)# 清空搜索框search_box.clear()# 输入关键词模拟真人打字每个字符间隔0.1-0.3秒forcharinkeyword:search_box.send_keys(char)time.sleep(random.uniform(0.1,0.3))# 按回车键搜索search_box.send_keys(Keys.ENTER)# 随机等待5-10秒加载搜索结果time.sleep(random.uniform(5,10))# 6. 向下滚动页面加载更多笔记scroll_down(driver,scroll_times5)# 7. 提取所有笔记的链接print(正在提取笔记链接...)note_links[]# 找到所有笔记的卡片小红书的笔记卡片class通常是feeds-page下的note-item如果失效了用开发者工具重新找note_cardsdriver.find_elements(By.XPATH,//div[contains(class, feeds-page)]//div[contains(class, note-item)]//a)forcardinnote_cards:linkcard.get_attribute(href)iflinkandexplorenotinlinkandlinknotinnote_links:note_links.append(link)iflen(note_links)max_notes*2:# 多提取一些留筛选的空间breakprint(f✅ 共提取到{len(note_links)}条笔记链接)# 8. 遍历每一条笔记链接提取数据筛选高赞高收藏all_notes[]fori,linkinenumerate(note_links,1):iflen(all_notes)max_notes:breakprint(f正在爬取第{i}/{len(note_links)}条笔记{link})try:# 打开笔记详情页driver.get(link)# 随机等待3-6秒加载笔记详情time.sleep(random.uniform(3,6))# 提取笔记标题titletry:title_elementdriver.find_element(By.XPATH,//div[contains(class, title)])titletitle_element.text.strip()except:pass# 提取笔记作者authortry:author_elementdriver.find_element(By.XPATH,//div[contains(class, author-name)])authorauthor_element.text.strip()except:pass# 提取点赞数、收藏数、评论数likes0collects0comments0try:# 找到所有互动数据的元素点赞、收藏、评论通常在一起interact_elementsdriver.find_elements(By.XPATH,//div[contains(class, interact)]//span[contains(class, count)])iflen(interact_elements)3:likesint(interact_elements[0].text.strip().replace(w,0000).replace(.,))collectsint(interact_elements[1].text.strip().replace(w,0000).replace(.,))commentsint(interact_elements[2].text.strip().replace(w,0000).replace(.,))except:pass# 9. 筛选高赞高收藏的笔记iflikesmin_likesandcollectsmin_collects:print(f✅ 筛选通过点赞{likes}收藏{collects})# 把提取到的数据添加到列表里all_notes.append({笔记标题:title,笔记作者:author,点赞数:likes,收藏数:collects,评论数:comments,笔记链接:link,爬取时间:datetime.now().strftime(%Y-%m-%d %H:%M:%S)})else:print(f⚠️ 筛选不通过跳过)exceptExceptionase:print(f❌ 第{i}条笔记爬取失败{e})continue# 10. 每爬完一条笔记随机等待2-5秒避开反爬别爬太快sleep_timerandom.uniform(2,5)print(f暂停{sleep_time:.1f}秒...)time.sleep(sleep_time)# 11. 用pandas把列表转换成DataFramedfpd.DataFrame(all_notes)# 12. 生成Excel文件名current_timedatetime.now().strftime(%Y%m%d_%H%M%S)excel_filenamef小红书_{keyword}_高赞高收藏笔记_{current_time}.xlsx# 13. 保存到Excel文件df.to_excel(excel_filename,indexFalse,engineopenpyxl)print(f\n 全部爬取成功)print(f✅ 共爬取{len(note_links)}条笔记筛选出{len(all_notes)}条高赞高收藏笔记)print(f✅ 数据已保存到{excel_filename})# 14. 关闭浏览器driver.quit()exceptExceptionase:# 捕获所有异常打印错误信息print(f\n❌ 爬取失败错误信息{e})# 尝试关闭浏览器try:driver.quit()except:passif__name____main__:# 15. 在这里修改你要爬的关键词和参数keyword平价护肤品推荐# 替换成你要爬的真实关键词max_notes_count30# 最多爬30条高赞高收藏笔记建议20-50条不要爬太多min_likes_threshold1000# 最低点赞数可自行调整比如500或2000min_collects_threshold500# 最低收藏数可自行调整比如300或1000# 16. 调用爬取函数get_xiaohongshu_notes(keyword,max_notes_count,min_likes_threshold,min_collects_threshold)四、运行代码一键搞定在VS Code的终端里输入下面的命令按回车python xiaohongshu_spider.py如果终端显示“ 全部爬取成功”就说明成功了打开VS Code左侧的“资源管理器”第一个图标你会看到生成的Excel文件双击打开就能看到筛选后的高赞高收藏的小红书笔记包括标题、作者、点赞数、收藏数、评论数、笔记链接帮你快速避坑网红爆款五、新手常见问题解答我帮你踩过的坑1. 终端提示“‘python’ 不是内部或外部命令”原因安装Python时没有勾选“Add Python 3.x.x to PATH”。解决方法翻回去看我第一篇爬天气预报的教程的“新手常见问题解答”部分。2. 终端提示“ModuleNotFoundError: No module named ‘xxx’”原因没有安装对应的库或者安装库时用了错误的镜像源。解决方法重新用清华镜像源安装对应的库检查VS Code的Python解释器是否正确。3. 终端提示“no such element: Unable to locate element”原因小红书的网页结构变了或者搜索框/笔记卡片的XPath复制错了。解决方法用浏览器的“开发者工具”右键→检查重新找正确的XPath把代码里的XPath替换成新的可以用contains(class, xxx)来匹配部分class更稳定。4. 终端提示“WebDriverException: Message: unknown error: cannot find Chrome binary”原因Chrome浏览器没有安装在默认路径或者没有安装Chrome浏览器。解决方法确认Chrome浏览器已经安装如果安装在非默认路径在chrome_options里添加chrome_options.binary_location 你的Chrome浏览器路径。5. 爬取速度太慢或者爬了几条就被屏蔽了原因爬太快或者没有设置好反爬选项。解决方法把代码里的sleep_time改成更大的数比如5-10秒把代码里的scroll_times改成更小的数比如3-5次把代码里的max_notes_count改成更小的数比如10-20条过一会儿再试可以开启无头模式去掉代码里的注释但无头模式更容易被屏蔽建议新手先用有头模式。六、进阶玩法有兴趣可以试试但新手不建议爬取笔记正文和评论提取笔记正文和评论看看有没有“恰饭”的痕迹比如“品牌方送的”、“合作推广”。词云分析用wordcloud库把筛选后的笔记标题生成词云看看大家最常推荐的是什么。筛选评论里有干货的笔记提取评论看看有没有“亲测有效”、“用了半年”、“回购无数次”这类关键词。对比多个关键词的笔记爬取多个同类型关键词的笔记对比它们的平均点赞数、收藏数看看哪个关键词的笔记更真实。结尾怎么样是不是超简单用Selenium可视化操作新手也能1小时搞定这个脚本不仅能帮你避坑网红爆款你还可以用它爬取小红书的旅游攻略、美食推荐、学习资料再也不用被“恰饭笔记”骗了⚠️最后再次提醒本文仅供学习交流使用不要用于商业用途不要爬取大量数据严格遵守小红书的用户协议

相关新闻

超简单!Python爬虫实战:爬取B站UP主视频数据,分析账号运营

超简单!Python爬虫实战:爬取B站UP主视频数据,分析账号运营

最近刚学Python的小侄子找我:“叔,我想分析一下我喜欢的UP主的视频数据,看看哪期播放量最高,投币率怎么样,但手动记太麻烦了!” 我笑着说:“这事儿交给Python啊,用B站的第三方库&…

2026/5/17 5:18:40 阅读更多 →
1985-2024年瞪羚、独角兽与科技型初创企业专利申请与授权信息

1985-2024年瞪羚、独角兽与科技型初创企业专利申请与授权信息

1.原始数据为:瞪羚、独角兽、创新型企业名录、工商注册信息匹配结果及经纬度数据(2025年6月爬取)和1985~2024 年专利申请与授权数据(版本 3,含申请人所处的省市区县),通过两个数据进…

2026/7/3 2:14:29 阅读更多 →
HoRain云--Redis错误解决:WRONGTYPE操作指南

HoRain云--Redis错误解决:WRONGTYPE操作指南

🎬 HoRain云小助手:个人主页 🔥 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!…

2026/5/17 6:44:06 阅读更多 →

最新新闻

YimMenu:GTA V游戏增强与安全防护系统技术解析

YimMenu:GTA V游戏增强与安全防护系统技术解析

YimMenu:GTA V游戏增强与安全防护系统技术解析 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …

2026/7/3 9:20:38 阅读更多 →
如何用NSC_BUILDER高效管理你的Switch游戏库:批量处理与格式转换完全指南

如何用NSC_BUILDER高效管理你的Switch游戏库:批量处理与格式转换完全指南

如何用NSC_BUILDER高效管理你的Switch游戏库:批量处理与格式转换完全指南 【免费下载链接】NSC_BUILDER Nintendo Switch Cleaner and Builder. A batchfile, python and html script based in hacbuild and Nuts python libraries. Designed initially to erase ti…

2026/7/3 9:20:38 阅读更多 →
解锁Switch游戏新体验:yuzu模拟器完全指南

解锁Switch游戏新体验:yuzu模拟器完全指南

解锁Switch游戏新体验:yuzu模拟器完全指南 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu 想在电脑上畅玩任天堂Switch游戏吗?yuzu模拟器为你带来前所未有的游戏体验!作为目前最…

2026/7/3 9:16:37 阅读更多 →
YOLOv8为何仍是目标检测首选?从核心原理到实战部署全解析

YOLOv8为何仍是目标检测首选?从核心原理到实战部署全解析

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 如果你刚接触目标检测,或者正在为项目选型,看到“YOLOv26”这个版本号,第一反应可能是&#xff…

2026/7/3 9:16:37 阅读更多 →
原来长春市场竟有产品稳定的专业宝马原厂升级产品?

原来长春市场竟有产品稳定的专业宝马原厂升级产品?

行业痛点分析在长春宝马原厂升级领域,存在诸多核心技术挑战。许多车主面临不知道哪里改装专业的问题,数据表明,约 60%的车主担心被宰,害怕遇到技术不专业的改装店。同时,近 50%的车主担忧师傅拆装有瑕疵,还…

2026/7/3 9:14:36 阅读更多 →
Windows触控板革命:如何通过三指拖拽实现macOS级效率体验

Windows触控板革命:如何通过三指拖拽实现macOS级效率体验

Windows触控板革命:如何通过三指拖拽实现macOS级效率体验 【免费下载链接】ThreeFingersDragOnWindows Enables macOS-style three-finger dragging functionality on Windows Precision touchpads. 项目地址: https://gitcode.com/gh_mirrors/th/ThreeFingersDra…

2026/7/3 9:12:36 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻