尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

用 Python 采集微信公众号数据,一条命令跑通搜狗微信搜索的 4 个核心接口

用 Python 采集微信公众号数据,一条命令跑通搜狗微信搜索的 4 个核心接口 用 Python 采集微信公众号数据一条命令跑通搜狗微信搜索的 4 个核心接口【免费下载链接】WechatSogou基于搜狗微信搜索的微信公众号爬虫接口项目地址: https://gitcode.com/gh_mirrors/we/WechatSogou凌晨两点老吴盯着屏幕上滚动刷新的公众号后台揉了揉眼睛。他负责运营的公司要做竞品分析每周要手动翻 8 个竞品公众号的最近推文复制标题、记录发布时间、统计原创数量再粘进 Excel——这套重复劳动他已经干了三个月光是找历史文章入口就要点五六次鼠标。他想要的其实很简单把翻公众号这件事交给代码自己只负责看结果。如果你也有类似的困扰——需要微信公众号数据采集但不想从零手写 HTML 解析那么 WechatSogou 这个基于搜狗微信搜索的爬虫接口就是现成的答案装一个包、调几个方法几十行代码就能把公众号信息和文章数据结构化地拿回来。先花 30 秒认识这个库项目说明是什么基于搜狗微信搜索封装的 Python 爬虫接口官方包名wechatsogou解决什么问题免去手写请求、Cookie 维护、HTML 解析一行调用即可获取公众号资料、文章列表、热门内容适合谁做竞品监控、行业分析、内容运营、舆情观察的开发者上手成本pip install wechatsogou一条命令核心代码量约 10 行起运行环境Python 2.7 与 3.5 均支持依赖 requests它的所有能力都集中在wechatsogou/api.py这一个文件里入口类叫WechatSogouAPI。你不需要理解搜狗微信搜索的页面结构接口会替你完成请求、防反爬、数据抽取的全过程。动手前必读环境与 3 个预警只需要一个装了 Python 的机器命令行执行# 安装最新版升级安装可避免旧版接口不兼容 pip install wechatsogou --upgrade装好后用一条命令验证是否可用这段代码解决确认库真的装上了的问题import wechatsogou # 打印版本号能跑通就说明环境 OK print(wechatsogou.__version__)预期输出版本可能略新 4.5.4开始之前先记住最容易踩的 3 个坑它们能帮你省下大量排查时间公众号名字必须精确。搜狗按名称匹配名字写错一个字就返回空结果建议先用搜索接口确认准确名称。文章链接是临时的。微信给的content_url有时效拿到后要尽快抓取正文否则会提示链接已过期。别高频猛刷。连续快速请求容易触发验证码代码里加个随机延时是基本操作后面会演示。实战走一遍采集一个公众号的完整画像我们用一个真实小任务串起全部内容假设你在做新能源车行业的内容调研需要知道头部公众号是谁、最近发了什么、行业内都在聊什么话题。接下来按四步走完。第 1 步先搜索确认你要采集的公众号到底叫什么直接上手写代码前先用关键词搜一遍公众号确认目标的全名和 ID。这段代码解决我只知道大概方向不知道确切公众号名的问题import wechatsogou api wechatsogou.WechatSogouAPI() # 按关键词搜索公众号返回的是生成器逐个取出来 gzh_list api.search_gzh(新能源汽车) for gzh in gzh_list[:3]: print(名称:, gzh[wechat_name]) print(微信ID:, gzh[wechat_id]) print(简介:, gzh[introduction]) print(认证:, gzh.get(authentication, 未认证)) print(---)预期输出结构化字段一目了然 名称: 新能源汽车网 微信ID: evquan 简介: 新能源汽车行业资讯与深度报道 认证: 北京新能源汽车产业协会 --- 名称: 新能源汽车产业 微信ID: evculture 简介: 关注新能源汽车全产业链动态 认证: 未认证 ---搜索结果里每一项都包含wechat_name、wechat_id、introduction、authentication等字段可以直接作为后续采集的目标清单。返回结果的效果可以参考项目截图微信公众号采集——公众号搜索返回结构第 2 步拿到某个公众号的完整资料卡确认目标名称后调用get_gzh_info拿到该公众号的头像、认证信息、最近一月群发数等元数据。这段代码解决我需要公众号的完整资料做分析报告的问题import wechatsogou api wechatsogou.WechatSogouAPI(captcha_break_time3) # 验证码输错最多重试3次 info api.get_gzh_info(新能源汽车网) print(公众号名称:, info[wechat_name]) print(微信ID:, info[wechat_id]) print(最近一月群发数:, info[post_perm]) print(认证主体:, info.get(authentication, 无)) print(简介:, info[introduction])预期输出 公众号名称: 新能源汽车网 微信ID: evquan 最近一月群发数: 26 认证主体: 北京新能源汽车产业协会 简介: 新能源汽车行业资讯与深度报道注意get_gzh_info返回的是一个字典字段在项目文档README.md里有完整说明。真实调用效果参考微信公众号采集——公众号资料卡输出第 3 步扩展任务——抓取这个公众号最近发布的历史文章这是老吴最需要的功能把公众号最近 10 条群发文章一次性结构化取出。这段代码解决我不要再手动一页页翻公众号历史消息的问题import wechatsogou api wechatsogou.WechatSogouAPI() # 按公众号名称抓取最近群发文章返回 gzh 信息和 article 列表 history api.get_gzh_article_by_history(新能源汽车网) print(公众号:, history[gzh][wechat_name]) print(本次共取回, len(history[article]), 篇\n) for article in history[article]: print(-, article[title]) print( 发布时间:, article[datetime], | 类型:, article[type])预期输出节选 公众号: 新能源汽车网 本次共取回 10 篇 - 2026 年充电桩市场格局将如何改写 发布时间: 1766138400 | 类型: 49 - 固态电池量产还有多远 发布时间: 1766052000 | 类型: 49返回的每条文章包含title、abstract、content_url、cover、datetime等字段其中content_url就是文章临时链接。真实调用效果参考微信公众号采集——历史文章批量输出第 4 步调优——加延时、换时间段让采集更稳更精准最后一步解决采集容易触发风控、且我想按时间过滤两个问题。这里用随机延时控制请求节奏再用search_article的时间参数只取最近一周的文章import time import random import wechatsogou from wechatsogou import WechatSogouConst api wechatsogou.WechatSogouAPI(timeout10) # 随机睡眠 2~4 秒避免被搜狗判定为高频访问 time.sleep(random.uniform(2, 4)) # 只搜索最近一周发布的文章并限定为有图文章 articles api.search_article( 固态电池, timesnWechatSogouConst.search_article_time.week, article_typeWechatSogouConst.search_article_type.image, ) for item in articles[:3]: print(标题:, item[article][title]) print(来源公众号:, item[gzh][wechat_name]) print(---)预期输出 标题: 固态电池量产还有多远看完这篇你就懂了 来源公众号: 新能源汽车网 --- 标题: 半固态电池商业化元年谁在领跑 来源公众号: 电池前沿观察 ---这里用到的WechatSogouConst.search_article_time和WechatSogouConst.search_article_type是项目内置的常量类定义在wechatsogou/const.py中支持一天/一周/一月/一年与有图/有视频/图文并茂等组合比手动拼 URL 参数省心得多。文章搜索结果参考微信公众号采集——文章检索输出高级玩法两个值得收藏的能力1.get_sugg关键词联想做选题灵感库。输入一个词返回 10 个相关搜索词适合运营同学扩展话题方向api.get_sugg(充电) # 预期返回 [充电桩加盟, 充电基础设施, 充电宝加盟, ...] 共 10 条返回效果见项目截图微信公众号采集——关键词联想输出2.get_article_content抓取正文抢救临时链接。公众号历史文章拿到的链接会过期趁有效期内调用它把正文 HTML 和图片列表存下来配合hosting_callback还能把图片自动托管到自己的图床。适合做内容归档备份的场景。你可能遇到的坑与正确做法遇到的坑现象正确做法公众号名不精确返回空列表或 None先search_gzh搜索确认名称get_gzh_info内部就是取搜索结果第一条链接已过期提示链接已过期拿到content_url后立即调用get_article_content存正文别拖触发验证码返回验证码页内容调大captcha_break_time同时降低请求频率、加随机延时被限流/封 IP请求全部失败配置代理参数proxies并严格控制并发只拿到 10 篇文章历史文章列表就是 10 条这是搜狗接口上限需定期增量采集入库接口的具体参数和返回字段结构可以在仓库的docs/README.rst、wechatsogou/api.py源码注释里查到test/test_api.py里还有一整套真实接口的调用范例照着抄就能学会写法。下一步行动现在就把上面第 1 步的代码复制到你的编辑器里跑一次换成你手头真正关心的关键词——比如你行业里的竞品名字。跑通第一行输出后你距离自动化采集就只有加个循环 存 CSV这几行代码的距离了。记住三条准则名称先搜再采、链接到手尽快存、频率控制在人的手速以内。剩下的交给 WechatSogou 就行。【免费下载链接】WechatSogou基于搜狗微信搜索的微信公众号爬虫接口项目地址: https://gitcode.com/gh_mirrors/we/WechatSogou创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表