通过微信公众平台获取公众号文章的方法示例


Posted in Javascript onDecember 25, 2019

我之前自己维护了一个公众号,但因为个人关系很久没有更新了,今天上来缅怀一下,却偶然发现了一个获取微信公众号文章的方法。

之前获取方法有很多,通过搜狗、清博、网页端、客户端等等都还可以,这个可能并没有其他的优秀,但是操作简单,很容易理解。

so、 首先需要有一个微信公众平台的账号

微信公众平台:https://mp.weixin.qq.com/

通过微信公众平台获取公众号文章的方法示例

登陆之后,进入首页,点击新建群发。

通过微信公众平台获取公众号文章的方法示例

选择自建图文:

通过微信公众平台获取公众号文章的方法示例

似乎像是公众号运营教学了

进入编辑页面之后,点击超链接

通过微信公众平台获取公众号文章的方法示例

弹出选择框,我们在框中输入对应的公众号名字,即可出现对应的文章列表

通过微信公众平台获取公众号文章的方法示例

是不是很惊奇,可以打开控制台,查看一下请求的接口

通过微信公众平台获取公众号文章的方法示例

打开response,里面就是我们需要的文章链接

通过微信公众平台获取公众号文章的方法示例

确定了数据以后,我们需要分析一下这个接口

感觉很简单,一个GET请求,携带一些参数。

通过微信公众平台获取公众号文章的方法示例

fakeid是公众号的独有ID,所以想通过名字直接获取文章列表,还需要先获取一下fakeid。

当我们输入公众号名字后,点击搜索。可以看到触发了搜索接口,返回了fakeid。

通过微信公众平台获取公众号文章的方法示例

这个接口所需参数也不多。

通过微信公众平台获取公众号文章的方法示例

接下来,我们可以用代码来模拟以上的操作了。

但是还需要使用现有Cookie避免登陆。

通过微信公众平台获取公众号文章的方法示例

目前Cookie的有效期,我还没有测试。可能需要及时更新Cookie。

测试代码:

import requests
import json

Cookie = '请换上自己的Cookie,获取方法:直接复制下来'
url = "https://mp.weixin.qq.com/cgi-bin/appmsg"
headers = {
 "Cookie": Cookie,    
 "User-Agent": 'Mozilla/5.0 (Linux; Android 10; YAL-AL00 Build/HUAWEIYAL-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.64 HuaweiBrowser/10.0.1.335 Mobile Safari/537.36'
  }

keyword = 'pythonlx'   # 公众号名字:可自定义
token = '你的token'    # 获取方法:如上述 直接复制下来
search_url = 'https://mp.weixin.qq.com/cgi-bin/searchbiz?action=search_biz&begin=0&count=5&query={}&token={}&lang=zh_CN&f=json&ajax=1'.format(keyword,token)

doc = requests.get(search_url,headers=headers).text
jstext = json.loads(doc)
fakeid = jstext['list'][0]['fakeid']

data = {
  "token": token,
  "lang": "zh_CN",
  "f": "json",
  "ajax": "1",
  "action": "list_ex",
  "begin": 0,
  "count": "5",
  "query": "",
  "fakeid": fakeid,
  "type": "9",
  }
json_test = requests.get(url, headers=headers, params=data).text
json_test = json.loads(json_test)
print(json_test)

这样就能获取最新的10篇文章了,如果想要获取更多的历史文章,可以修改data中的"begin"参数,0是第一页,5是第二页,10是第三页(以此类推)

但是如果想要大规模抓取的话:
请给自己安排一个稳定的代理,降低爬虫的速度,准备多个账号,来减少被封禁的可能性。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现的网页颜色代码表全集
Jul 17 Javascript
jQuery 判断页面元素是否存在的代码
Aug 14 Javascript
JQuery AJAX提交中文乱码的解决方案
Jul 02 Javascript
实例说明为什么不要行内使用javascript
Apr 18 Javascript
javascript 操作符(~、&、|、^、)使用案例
Dec 31 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
jquery实现滑动特效代码
Aug 10 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
May 12 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
Jul 18 Javascript
轻松实现js选项卡切换效果
Sep 24 Javascript
vue实现codemirror代码编辑器中的SQL代码格式化功能
Aug 27 Javascript
react ant Design手动设置表单的值操作
Oct 31 Javascript
vue远程加载sfc组件思路详解
Dec 25 #Javascript
node实现mock-plugin中间件的方法
Dec 25 #Javascript
微信小程序停止其他视频播放当前视频的实例代码
Dec 25 #Javascript
vue分页插件的使用方法
Dec 25 #Javascript
继承行为在 ES5 与 ES6 中的区别详解
Dec 24 #Javascript
在JavaScript中实现链式调用的实现
Dec 24 #Javascript
vue实现分页加载效果
Dec 24 #Javascript
You might like
资料注册后发信小技巧
2006/10/09 PHP
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
禁止js文件缓存的代码
2010/04/09 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013/05/13 Javascript
JS实现往下不断流动网页背景的方法
2015/02/27 Javascript
js实现带按钮的上下滚动效果
2015/05/12 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
2020/07/20 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
python实现反转部分单向链表
2018/09/27 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
python aiohttp的使用详解
2019/06/20 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
Series和DataFrame使用简单入门
2019/11/13 Python
普通大学毕业生自荐信
2013/11/04 职场文书
应聘编辑职位自荐信范文
2014/01/05 职场文书
语文教学感言
2014/02/06 职场文书
2014新年元旦活动策划方案
2014/02/18 职场文书
邀请函范文
2015/02/02 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
Redis性能监控的实现
2021/07/09 Redis
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android