小红书关键词 爬虫代码
时间: 2025-06-16 09:24:31 浏览: 17
### 小红书关键词爬取的Python爬虫代码示例
小红书作为一个内容分享平台,其数据通常是动态加载的。为了实现关键词爬取,可以结合Scrapy框架与Selenium工具完成动态页面的数据抓取。以下是一个基于Scrapy和Selenium的小红书关键词爬取代码示例[^1]。
#### 代码实现
```python
import scrapy
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
class XiaohongshuSpider(scrapy.Spider):
name = "xiaohongshu"
allowed_domains = ["www.xiaohongshu.com"]
def start_requests(self):
url = "https://www.xiaohongshu.com/discovery/general feed?keyword=关键词" # 替换为实际关键词
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
chrome_options = Options()
chrome_options.add_argument("--headless") # 无头模式
driver = webdriver.Chrome(options=chrome_options)
try:
driver.get(response.url)
time.sleep(5) # 等待页面加载完成
# 模拟滚动加载更多内容
scroll_times = 3
for _ in range(scroll_times):
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(2)
# 提取页面中的动态加载数据
posts = driver.find_elements_by_css_selector(".post-item") # 根据实际选择器调整
for post in posts:
title = post.find_element_by_css_selector(".title").text
content = post.find_element_by_css_selector(".content").text
yield {
"title": title,
"content": content
}
finally:
driver.quit()
```
#### 说明
上述代码通过Scrapy框架定义了一个爬虫类`XiaohongshuSpider`,并在`start_requests`方法中指定目标URL。使用Selenium加载动态页面,并通过模拟滚动操作获取更多内容[^3]。最后,提取每个帖子的标题和内容并返回结果。
需要注意的是,小红书的页面结构可能会发生变化,因此需要根据实际情况调整CSS选择器[^2]。
#### 注意事项
1. **反爬机制**:小红书可能对频繁请求进行限制,建议设置合理的请求间隔时间。
2. **合法性**:确保爬取行为符合目标网站的使用条款,避免侵犯隐私或违反法律法规。
3. **环境配置**:运行此代码需要安装Selenium及相关浏览器驱动程序,例如ChromeDriver[^4]。
---
###
阅读全文
相关推荐


















