跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonWeChat算法

Python 实现微信公众号文章批量爬取与数据导出

介绍使用 Python 编写爬虫程序,通过获取微信公众平台的 token 和 cookie,批量抓取指定公众号的文章列表及正文内容,并将结果保存为 Excel 文件。主要涉及网络请求、分页逻辑处理及 HTML 解析技术。

Pythonist发布于 2026/3/28更新于 2026/6/738 浏览
Python 实现微信公众号文章批量爬取与数据导出

一、爬取目标

本方案旨在实现批量下载公众号文章,并获取完整正文内容。目前提供源码形式,支持配置多个公众号进行批量爬取。

二、展示爬取结果

爬取结果包含以下字段:

文章配图

  • 文章标题
  • 文章链接(永久链接)
  • 发布时间
  • 公众号名称
  • 文章正文

所有数据自动保存为 Excel 文件,方便后续分析。

三、原理讲解

  1. 登录公众平台
  2. 在首页下新的创作选择文章,点进去之后在正文添加超链接,然后账号那一行选择要爬取的公众号,接着就会出现公众号发布过的文章。
  3. 按 F12 查看数据来源,点击网络,刷新之后可以看到文章数据来源的数据包,接下来对 url 发送请求,取我们想要的值即可。token 和 cookie 也从这里边找。

文章配图 文章配图

四、爬虫代码讲解

导入库:

import requests
import pandas as pd
import json
import time
import random
from lxml import etree
4.1 核心思路与配置

运行需要两个关键参数:token 和 cookie。这需要你登录公众平台后台,在开发者工具里抓取。 为了方便使用,把这些配置都写进了 wechat_config_new.json 文件里:

{
  "token": "你的 token",
  "cookie": "你的 cookie",
  "account_name": ["目标公众号 1", "目标公众号 2"],
  "start_date": "2024-01-01",
  "end_date": "2024-03-20"
}

account_name 支持列表,可以一次配置多个公众号,实现批量爬取。

4.2 关键步骤:获取文章列表,并翻页

这里涉及到分页逻辑:

def get_articles(config, account_name, fakeid):
    page = 0
    all_articles = []
    while True:
        begin = page * 5 # 微信接口每页固定 5 条
        url = "https://mp.weixin.qq.com/cgi-bin/appmsgpublish"
        params = {
            "sub": "list",
            "begin": str(begin),
            "count": "5",
            "fakeid": fakeid, # 核心参数
            "token": config['token'],
        }
        # 发送请求,解析 JSON ...
        # 如果返回的数据为空,说明没有更多了,跳出循环
        if not publish_list:
            break
        page += 1
        time.sleep(random.randint(2, 5)) # 礼貌性等待,防止被封

获取正文:

def get_article_content(link):
    detail_response = requests.get(url=link, headers=header, timeout=15)
    detail_xp = etree.HTML(detail_response.text)
    # 核心 XPath,定位到正文区域
    content_element = detail_xp.xpath("//*[@id='js_content']//text()")
    # 清洗、拼接文本
    content_clean = [text.strip() for text in content_element if text.strip()]
    return '\n'.join(content_clean)

五、如何运行?

  1. 按上面说的,配置好 wechat_config_new.json 文件。需要更新 cookie 和 token。
  2. 安装依赖:pip install requests pandas lxml openpyxl
  3. 运行主函数 main(),坐等 Excel 文件生成即可。 程序会自动帮你:搜索公众号 -> 遍历所有分页 -> 逐篇下载正文 -> 保存到表格。

目录

  1. 一、爬取目标
  2. 二、展示爬取结果
  3. 三、原理讲解
  4. 四、爬虫代码讲解
  5. 4.1 核心思路与配置
  6. 4.2 关键步骤:获取文章列表,并翻页
  7. 五、如何运行?
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 麦橘超然 Flux 免费离线 AI 绘画方案实战评测
  • 基于 Spring Boot 的在线拍卖系统设计与实现
  • Python 编程基础与实战应用指南
  • 基于 C# .NET Framework 的 Web Service 服务开发实例详解
  • VSCode 中 Copilot 调用 Claude Agent 提示无效请求的解决方案
  • Ubuntu 虚拟机部署 OpenClaw 个人 AI 助手
  • 无人机路径规划算法详解
  • 模拟算法精选:替换问号、提莫攻击与 Z 字形变换等 5 题解析
  • PentAGI Docker 环境部署实战
  • 前端加密 encrypt-labs 靶场实战:环境搭建与解密
  • 深入解析 LLaMA 架构:从零构建轻量级大语言模型
  • 基于阿里云ASR的AI电销机器人源码解析与部署指南
  • 通义万相 2.1 与 AIGC 技术融合实践指南
  • Claude Code Viewer: Web 端 Claude Code 会话管理工具
  • C++ STL list 容器常用接口与拓展用法详解
  • Python 纯函数编程:从理念到实战
  • [AI提效-18]-豆包AI绘图提示词全攻略(新手可直接套用)
  • Web JS 逆向全体系详解:Python 实战与渗透测试
  • Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码
  • Web JS 逆向全体系详解与 Python 实战

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online