ChatGPT炒股:爬取股票官方微信公众号的新闻资讯

上市公司的微信公众号,现在已经成为官网之外最重要的官方信息发布渠道。有些不会在股票公告中发布的消息,也会在微信公众号进行发布。所以,跟踪持仓股票的公众号信息,非常重要。

下面,以贝特瑞的官方公众号"贝特瑞新材料"为例,来说明如何利用ChatGPT 来爬取公司的公众号内容。

首先,要登陆微信公众号平台。可参照之前的文章《零代码编程:用ChatGPT自动登陆微信公众号后台》

然后点击:图文信息

点击超链接,选择其他公众号:

输入贝特瑞新材料,就可以看到公众号的全部历史文章了:

按F12键,可以看到贝特瑞新材料历史文章的源代码:

历史文章总共有46页:

第1页URL:https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin=0&count=5&fakeid=MzI0NjY5MjYyMg==&type=9&query=&token=1796751509&lang=zh_CN&f=json&ajax=1

第2页URL:https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin=5&count=5&fakeid=MzI0NjY5MjYyMg==&type=9&query=&token=1796751509&lang=zh_CN&f=json&ajax=1

第46页URL:

https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin=225&count=5&fakeid=MzI0NjY5MjYyMg==&type=9&query=&token=1796751509&lang=zh_CN&f=json&ajax=1

参数begin表示开始的位置索引,从0开始计数,每页递增5。例如,第1页的begin=0,第2页的begin=5,第46页的begin=225。

参数count表示每页的数量,固定为5。每页显示5条数据。

参数fakeid表示公众号的唯一标识,固定不变。

参数type表示文章的类型,这里固定为9。

参数query表示搜索关键词,这里为空。

参数token表示访问令牌,这个经常会变,在network-payload中获取:

参数lang表示语言,这里为中文。

参数f表示返回结果的格式,这里固定为json。

参数ajax表示是否使用Ajax加载,这里为1表示使用Ajax加载。

综上,URL中的begin参数和fakeid参数是根据页数和公众号的唯一标识来确定的,其他参数基本固定。我们可以根据这些规律生成不同页数的URL。

可以在ChatGPT中输入提示词了:

写一段Python代码,用selenium实现自动登陆微信公众平台然后爬取数据的任务,具体步骤如下:

用webdriver打开chrome浏览器;

打开https://mp.weixin.qq.com/

定位xpath=//*@id="header"/div2/div/div/div2/a的a元素,点击;

定位type="text" 的input元素,输入:你的账号;

定位type="password"的input元素,输入:你的密码;

定位xpath=//*@id="header"/div2/div/div/div1/form/div3/label的lable元素,选中;

定位class="btn_login"的a元素,点击;

延迟30秒;

打开微信公众号每页的URL:

https://mp.weixin.qq.com/cgi-bin/appmsg?action=list_ex&begin={0}&count=5&fakeid=MzI0NjY5MjYyMg==&type=9&query=&token={1871}&lang=zh_CN&f=json&ajax=1,参数begin的数值从0开始计数,每页递增5,一直到225;

参数token的值为:你的token,

每页URL的User-Agent为:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36

Cookie为:你的cookie

获取每页的响应内容,解析json数据,打印输出;

提取其中"app_msg_list"的全部json数据,打印输出;

然后提取"app_msg_list"其中的 "link"、"title"字段,保存到F盘的"贝特瑞新材料公众号.xlsx";

注意:每一步都输出信息

使用显式等待来等待元素的出现;

每爬取1页内容后,暂停10秒;

程序运行后,显示的json数据:

保存到Excel表格中的微信公众号URL和标题:

随机打开一个微信文章URL,显示正常:

相关推荐
Dumbness4 天前
群里 @ 机器人发"查订单",指令一条都没命中:微信群机器人在路由前漏掉的几步归一化
python·微信
玩泥巴的10 天前
把AI编码从自由生成到受约束声明:微信生态 .NET SDK 中用源生成器压制 AI 编码幻觉的工程实践
微信·.net·aot·roslyn
连接池11 天前
Java 微信二次开发2个坑:多实例回调路由 + 消息分发策略(附 Spring Boot 代码)
微信
阿砾11 天前
微信群消息回调处理:乱序、自己发的消息、真实发送者提取
微信
玩泥巴的12 天前
源生成与 AOT 就绪的微信生态 .NET SDK:结构、能力边界与 API 定位方法
ai·微信·.net·agent·aot·roslyn
玩泥巴的13 天前
可能是最现代化的微信生态 .NET 服务端 SDK
ai·微信·.net·aot
阿砾16 天前
微信群消息处理:回调乱序、自己发的消息、群内真实发送者
微信
承渊政道16 天前
飞牛NAS部署Hermes AI Agent:接入DeepSeek、微信与公网访问完整教程
人工智能·微信·nas·deepseek·hermes
高晶17 天前
微信小程序实战:iOS 降级查询工具从零开发
微信·程序员
软擎17 天前
花店节日布置怎么留记录?用轻虾导出助手把花材替换、现场尺寸与撤场清点钉在一起
微信