Python自动化爬取小红书内容(学习参考)

1、导包

import time
from DrissionPage import WebPage
from DrissionPage.common import Actions
import csv
import random
import re

2、自动化打开浏览器,手动登录小红书

wp = WebPage()
wp.get('https://www.xiaohongshu.com/explore')

运行登录后不用关闭浏览器,在浏览器中输入关键字搜索,然后就可以注释wp.get(‘https://www.xiaohongshu.com/explore’)了

3、监听请求获取响应

wp.listen.start('api/sns/web/v1/feed')
# 点击100个内容
for index in range(100):
    if index in [9, 19, 31, 41,53,63,75,85,97,107]:
        # 跳过当前循环的部分,需要自己改
        continue
    # 使用 XPath 选择器选择 data-index 属性为当前 index 的 section 元素
    sections = wp.ele(f'xpath://section[@data-index="{index}"]').click()
    pack 
### 使用DrissionPage采集小红书笔记数据 为了使用 `DrissionPage` 进行小红书笔记的数据采集,需先安装并导入必要的库。具体操作如下: #### 安装依赖包 确保已安装所需的 Python 库,可以通过 pip 命令完成: ```bash pip install drission-page pandas openpyxl ``` #### 初始化浏览器实例 创建一个 Chrome 浏览器实例用于访问网页,并加载目标页面。 ```python from DrissionPage import ChromiumPage ch = ChromiumPage() ch.get("https://www.xiaohongshu.com/explore") ``` 当首次打开网站时会提示登录,此时应按照正常流程扫码授权登录[^2]。 #### 获取指定关键词下笔记列表 假设已经成功登陆,在搜索框输入想要查询的关键字,模拟点击搜索按钮提交表单请求获取对应的结果页。 ```python search_input = ch.ele('tag:input[name="query"]') # 查找搜索栏元素 search_button = ch.ele('xpath://button[@type="submit"]') # 查找搜索按钮元素 keyword = "美食" search_input.input(keyword) # 输入关键字 search_button.click() # 提交搜索 ``` #### 解析HTML结构提取所需字段 等待页面加载完毕后解析 HTML 文档对象模型 (DOM),定位到每篇帖子所在的容器标签内抓取标题、描述文字等内容片段。 ```python import time time.sleep(3) # 等待页面完全渲染出来再继续执行后续动作 note_containers = ch.eles('.post-item__content') # 获取所有文章卡片组件集合 data_list = [] for container in note_containers[:10]: # 只遍历前十个作为例子 title = container.ele('.title').text # 抓取标题 desc = container.ele('.desc').text.strip() or '无简介' # 如果没有简介则填充默认值 data_dict = { 'Title': title, 'Description': desc } data_list.append(data_dict) print(f"共找到 {len(data_list)} 条记录.") ``` #### 数据保存至 Excel 文件 最后一步就是把收集好的信息写入电子表格当中方便日后查看分析。 ```python import pandas as pd df = pd.DataFrame(data_list) output_file_path = './xiaohongshu_notes.xlsx' df.to_excel(output_file_path, index=False, engine='openpyxl') print(f"数据已成功导出到 '{output_file_path}' ") ``` 以上即为完整的基于 `DrissionPage` 的小红书笔记数据采集过程介绍[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值