C# net core 微信公众号导出历史文章

  • C# net core 微信公众号导出历史文章已关闭评论
  • 173 次浏览
  • A+
所属分类:.NET技术
摘要

老婆公司的需求,公司给了一个星期的时间。让她每天去复制粘贴。然后就有了如下代码:

老婆公司的需求,公司给了一个星期的时间。让她每天去复制粘贴。然后就有了如下代码:

先说实现吧

一、抓包

Charles  https://www.charlesproxy.com/

打开Charles , 配置好SSL Proxy 。

C# net core 微信公众号导出历史文章

C# net core 微信公众号导出历史文章编辑

证书OK后,配置允许抓取系统资源:

 

C# net core 微信公众号导出历史文章

C# net core 微信公众号导出历史文章编辑

启动抓包即可,简单又方便:

 

C# net core 微信公众号导出历史文章

C# net core 微信公众号导出历史文章编辑

二、获取资源

电脑端登录微信,然后选择你需要导出文章的公众号。下拉文章列表。操作如下图:

 

C# net core 微信公众号导出历史文章

C# net core 微信公众号导出历史文章编辑

然后打开 Charles ,可以看到如下图所示的链接。找到红框标注的链接。复制即可:

 

C# net core 微信公众号导出历史文章

C# net core 微信公众号导出历史文章编辑

三、代码

直接贴结果吧。代码我已上传到gitee . 已开源。代码基于.Net Core 3.1 来开发。总体代码不超过100行。签出后,直接还原Nuget ,并更改请求链接地址即可。

注意:链接地址中:

offset :代表当前页。默认第一页:1.  第二页:11。 第三页:21  以此类推。(如果正常1、2、3、4 去翻页,则会获取重复数据。 具体自动翻页请求接口,代码已经写好。这里只做说明。)

count  :  代表每页数量,但是然并卵。无法更改每页总数。 放弃。 

公众号文章地址:

https://mp.weixin.qq.com/mp/profile_ext?action=getmsg&__biz=MzAwNTQ3NDQ5Ng==&f=json&offset=10&count=10&is_ok=1&scene=124&uin=OTI4MzMyMzU%3D&key=7c14ce573774ea75f9d61b77ec440a4f13da1903c9750b652b419d66fdae9021dc98e38b56776140305a78004f46a1e6f5099544e9d22e2e2f4f5bcd94c57b0766b24c0d7ec5dc7a8388c18f14ee6cb1d9e16eef32ca18e8ab68f7e9d29909d8f4e9d2e5e1b9520e9df687eaefa217596a5d86d9e91e6ecff48a773de358ac26&pass_ticket=rytffdZw5opwnRwamZtupHtHYuXUofPsapv%2FVvYC5HNo1oNF2CET9fyf2wYljGuC&wxtoken=&appmsg_token=1183_xKqFMPZJbuPvSW9i0OPVUtJvsBJT6eGWhtkM_A~~&x5=0&f=json

项目代码开源地址:

https://gitee.com/boaosady/ev_wxarticle.git

PS: 抓包复制出来的地址有效期大概五分钟左右。不过一般也够用,如果发现获取文章列表失败时,重复以上步骤即可。