小红书关键词爬虫

标题

  • [1 统计要收集的关键词,制作一个文件夹](#1 统计要收集的关键词,制作一个文件夹)
  • [2 爬取每一页的内容](#2 爬取每一页的内容)
  • [3 爬取标题和内容](#3 爬取标题和内容)
  • [4 如果内容可以被查看,爬取评论内容](#4 如果内容可以被查看,爬取评论内容)
  • [5 将结果进行汇总,并且每个帖子保存为一个json文件,具体内容](#5 将结果进行汇总,并且每个帖子保存为一个json文件,具体内容)
  • [6 总结](#6 总结)

1 统计要收集的关键词,制作一个文件夹

例如,我要收集旅游相关的,就收集:

旅游、旅行、旅游攻略,这些词,做成一个txt文件。

用一个浏览器登录上小红书账号,然后记录写cookies,例如:

2 爬取每一页的内容

主要使用request,js模块,将爬取的内容保存为res,里面包含一页20条数据。

python 复制代码
info = re.sub(r'"page":".*?"', f'"page":"{page}"', info)
        ret = js.call('get_xs', api, info, cookies["a1"])
        headers['x-s'], headers['x-t'] = ret['X-s'], str(ret['X-t'])
        response = requests.post(search_url, headers=headers, cookies=cookies, data=info.encode('utf-8'))
        res = response.json()

3 爬取标题和内容

从每一个note里面解析出标题,内容等信息。

python 复制代码
result = {}
    result["title"] = data['note_card']['title']
    result["desc"] = data['note_card']['desc'].replace("\n", "").replace("\t", "")
    tags_temp = data['note_card']['tag_list']
    tags = []
    for tag in tags_temp:
        try:
            tags.append(tag['name'])
        except:
            pass
    result["tags"] = tags
    result["time"] = timestamp_to_str(data['note_card']['time'])

4 如果内容可以被查看,爬取评论内容

每个帖子里面的评论的单独的url,需要根据id号进行拼接,所以根据第3节获取的user-id,进行拼接,然后再用get进行访问,最后获得每条评论,注意有些帖子是不能被查看的,所以需要进行判断。

python 复制代码
note_id = url.split('/')[-1]
    comments_url = "https://edith.xiaohongshu.com/api/sns/web/v2/comment/page?note_id={}&image_scenes=FD_WM_WEBP,CRD_WM_WEBP".format(
        note_id)
    response = requests.get(comments_url, headers=headers, cookies=cookies)
    res = response.json()
    comments = []
    for line in res["data"]["comments"]:
        comment_str = line["content"]
        comments.append(comment_str)

5 将结果进行汇总,并且每个帖子保存为一个json文件,具体内容

包含:标题,具体内容,标题,创建时间,评论内容。每个关键词一个文件夹。

6 总结

详细代码私聊,注意本内容没有爬取图片,如果需要可以添加。

相关推荐
LateFrames2 小时前
IIS 窗口不显示,但是任务栏状态正常
服务器·windows·microsoft
喵手4 小时前
Python爬虫实战:增量爬虫实战 - 利用 HTTP 缓存机制实现“极致减负”(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·增量爬虫·http缓存机制·极致减负
qq_297815277 小时前
Docker Compose 部署 RocketMQ 5.4.0 完整指南(Windows Docker Desktop 专属)
windows·docker·rocketmq
quixoticalYan9 小时前
哈工大计算机系统大作业报告-程序人生-Hello’s P2P
linux·windows·程序人生·ubuntu·课程设计
开开心心就好11 小时前
轻松鼠标连, 自定义区域模仿人手点击
人工智能·windows·物联网·计算机视觉·计算机外设·ocr·excel
SJjiemo12 小时前
TreeSize Pro 电脑磁盘占用使用分析
windows
开开心心就好12 小时前
实用PDF擦除隐藏信息工具,空白处理需留意
运维·服务器·windows·pdf·迭代器模式·桥接模式·1024程序员节
喵手12 小时前
Python爬虫实战:舆情语料项目 - 从新闻抓取到文本挖掘的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·舆论语料项目·新闻抓取到文本挖掘·爬虫实战采集舆论语料
十铭忘13 小时前
windows下右键没有通过Vscode打开
ide·windows·vscode
喵手14 小时前
Python爬虫实战:数据质量检测与治理 - 构建健壮的爬虫数据管道(附CSV导出 + SQLite持久化存储)!
爬虫·python·sqlite·爬虫实战·零基础python爬虫教学·数据质量检测与治理·爬虫数据管道