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

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

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

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

然后点击:图文信息

ChatGPT炒股:爬取股票官方微信公众号的新闻资讯_第1张图片

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

ChatGPT炒股:爬取股票官方微信公众号的新闻资讯_第2张图片

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

ChatGPT炒股:爬取股票官方微信公众号的新闻资讯_第3张图片

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

ChatGPT炒股:爬取股票官方微信公众号的新闻资讯_第4张图片

历史文章总共有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中获取:

ChatGPT炒股:爬取股票官方微信公众号的新闻资讯_第5张图片

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

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

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

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

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

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

用webdriver打开chrome浏览器;

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

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

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

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

定位xpath=//*[@id="header"]/div[2]/div/div/div[1]/form/div[3]/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数据:

ChatGPT炒股:爬取股票官方微信公众号的新闻资讯_第6张图片

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

ChatGPT炒股:爬取股票官方微信公众号的新闻资讯_第7张图片

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

ChatGPT炒股:爬取股票官方微信公众号的新闻资讯_第8张图片

你可能感兴趣的:(微信)