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

相关推荐
特视界说2 天前
产品参数还没最终确认,能做三维动画吗?可以,但要把不确定性标出来
微信·音视频·传媒·新浪微博·新人首发
微信开发api3 天前
基于WTAPI构建社群运营平台:自动拉群与会话承接链路设计
java·大数据·网络·数据库·微信·自动化
随性而行3604 天前
企业微信二次开发如何接入大模型工具?API接口实现智能任务调用的技术思路
java·前端·人工智能·python·微信·机器人·企业微信
Eddyp5 天前
避开溢价!艾默生 TREX2 手操器省钱选型攻略
网络·其他·百度·微信·微信公众平台·新浪微博
leeyi6 天前
erlang_pay 日元没有“分“,退款要带流水号:支付代码里两条要命的规矩
微信·erlang·支付宝
leeyi6 天前
erlang_pay 先验章,再拆包:支付回调的验签到底在防什么
微信·erlang·支付宝
微信开发api11 天前
微信iPad协议怎么用?基于协议的二次开发实践
微信·机器人·ipad
wechatbot88811 天前
极客互动企业微信 SCRM 自动运营平台效果实测
java·微信·企业微信·rpa
懂软件的胡子个哥11 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发
微信开发api11 天前
微信机器人接口:REST API vs WebSocket 选型建议
微信·机器人·ipad