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,显示正常:

相关推荐
微信开发api-视频号协议2 天前
企业微信外部群开发自动化实践过程
java·前端·微信·自动化·企业微信·ipad
微信开发api-视频号协议4 天前
企业微信二次开发中的文件系统设计:媒体资源、临时文件与业务附件
前端·微信·企业微信·媒体·ipad·微信开放平台
微信开发api-视频号协议5 天前
Codex++安全边界探秘:从模型能力到风险防御
前端·安全·微信·企业微信
caimouse5 天前
reactos 测试安装32位微信失败的日志
开发语言·微信
毛丫讲绘本5 天前
0-3岁选绘本需要做到越早启蒙越要简单
人工智能·学习·微信·微信公众平台·微信开放平台
中云DDoS CC防护蔡蔡5 天前
短信验证码被攻击怎么办
运维·经验分享·http·网络安全·微信
金銀銅鐵6 天前
如何在微信对话框里发送“空白”信息?
微信
张居斜15 天前
Obsidian + Claude Code + 微信AI,我把这三个系统缝进了一个软件
微信·obsidian·claude code·molio
Jinkey18 天前
要用户手机号真的是为了打骚扰电话吗?浅谈微信生态会员账号体系与资产合并
后端·微信·微信小程序
2601_9618451522 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博