• Stars
    star
    168
  • Rank 225,507 (Top 5 %)
  • Language
    HTML
  • Created over 6 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

解析微信公众号文章元信息

we-extract

介绍

we-extract 用以解析微信公众号文章的账号及文章信息,居家旅行、采集微信公众号文章必备工具。

we-extract 是微信公众号 RSS 订阅服务 WeRss 的核心解析工具,欢迎使用:


安装

npm install we-extract

// or

yarn add we-extract

使用

Node 版本需要支持 async

const extract = require('we-extract').extract

const rs = await extract('微信文章 url 或者 文章内容')

// 选项
const rs = await extract('微信文章 url 或者 文章内容', {
  shouldReturnContent: true, // 是否返回内容,默认返回
  shouldExtractMpLinks: false, // v2.1.0 是否返回文章中出现的所有公众号文章链接,如果为 true,将返回 mp_links 数组
  shouldExtractTags: false, // v2.2.0 是否解析文章中的收录标签
  shouldExtractRepostMeta: false // v2.2.3 是否解析转载文章来源
})

返回结果说明

正确返回

{
  done: true,
  code: 0,
  data: {
    account_name: '微信派',
    account_alias: 'wx-pai',
    account_avatar: 'http://wx.qlogo.cn/mmhead/Q3auHgzwzM7Xb5Qbdia5AuGTX4AeZSWYlv5TEqD1FicUDOrnEIwVak1A/132',
    account_description: '微信第一手官方活动信息发布,线下沙龙活动在线互动平台。独家分享微信公众平台优秀案例,以及权威专家的精彩观点。',
    account_id: 'gh_bc5ec2ee663f',
    account_biz: 'MjM5NjM4MDAxMg==',
    account_biz_number: 2396380012,
    account_qr_code: 'https://open.weixin.qq.com/qr/code?username=gh_bc5ec2ee663f',
    msg_has_copyright: false, // 是否原创
    msg_content: '省略的文章内容',
    msg_author: null, // 作者
    msg_sn: '9a0a54f2e7c8ac4019812aa78bd4b3e0',
    msg_idx: 1,
    msg_mid: 2655078412,
    msg_title: '重磅 | 微信订阅号全新改版上线!',
    msg_desc: '今后,头图也很重要',
    msg_link: 'http://mp.weixin.qq.com/s?__biz=MjM5NjM4MDAxMg==&mid=2655078412&idx=1&sn=9a0a54f2e7c8ac4019812aa78bd4b3e0&chksm=bd5fc40f8a284d19360e956074ffced37d8e2d78cb01a4ecdfaae40247823e7056b9d31ae3ef#rd',
    msg_source_url: null, // 音频,视频时,此处为音频、视频链接
    msg_cover: 'http://mmbiz.qpic.cn/mmbiz_jpg/OiaFLUqewuIDldpxsV3ZYJzzyH9HTFsSwOEPX82WEvBZozGiam3LbRSzpIIKGzj72nxjhLjnscWsibDPFmnpFZykg/0?wx_fmt=jpeg',
    msg_article_type: null, // 文章分类
    msg_publish_time: '2018-06-20T10:52:35.000Z', // date 类型
    msg_publish_time_str: '2018/06/20 18:52:35',
    msg_type: 'post', // 可能为 post text repost voice video image
    mp_links: [{ // 在 shouldExtractMpLinks = true 时返回
      title: '',
      href: ''
    }],
    tags: [{ // 在 shouldExtractTags = true 时返回
      id: '',
      url: '',
      name: '',
      count: 1
    }],
    repost_meta: { // 在 shouldExtractRepostMeta = true 时返回
      account_name: '文章来源账号名字'
    }
  }
}

错误返回

{
  done: false,
  code: 2002,
  msg: '链接已过期'
}

常见错误

we-extract 定义了详细的错误信息方便开发和出错处理,1 开头错误表示可能需要重试(或者暂时将内容保存下来 debug),2 表示没有疑问的错误,可以不处理。

请使用 code(数字类型) 来判断而不是 message 内容,因为 message 可能会变化。

module.exports = {
  '1000': '解析失败,可能文章内容不完整',
  '1001': '字段缺失',
  '1002': '请求文章内容失败',
  '1003': '请求文章内容为空',
  '1004': '访问过于频繁(URL模式)', // 可以换 ip 重新请求,注意与 2010 的区别
  '1005': 'js 变量解析出错',

  '2001': '参数缺失',
  '2002': '链接已过期',
  '2003': '该内容被投诉且经审核涉嫌侵权,无法查看',
  '2004': '公众号迁移但文章未同步',
  '2005': '该内容已被发布者删除',
  '2006': '此内容因违规无法查看',
  '2007': '涉嫌违反相关法律法规和政策发送失败',
  '2008': '微信文章系统出错',
  '2009': '链接不正确',
  '2010': '访问过于频繁(HTML模式)', // 解析参数为直接的文章内容,此时该篇内容已经无效,可以丢弃
  '2011': '由用户投诉并经平台审核,涉嫌过度营销、骚扰用户',
  '2012': '此帐号已被屏蔽',
  '2013': '此帐号已自主注销',
  '2014': '不实信息'
}

经验

  • 一个微信由 biz+mid+idx 组成,mid 在单个公众号内唯一。
  • 文章所属账号信息以文章解析结果为准,采集搜狗时不要相信账号名字,因为搜狗显示的可能是改名或者迁移前的账号信息。
  • 如果在搜狗微信搜不到账号,极有可能是因为公众号改了名字,试试以前的名字应该能搜索到。
  • 微信链接的 search 拼接符可能为 & 需要做一个替换处理,否则解析链接参数时会有问题。
  • 一个 ip 获取微信文章内容有限制,需要限制速率或者轮换 ip。

More Repositories

1

vux

Mobile UI Components based on Vue & WeUI
Vue
17,591
star
2

china-area-data

中国省市区数据
JavaScript
1,885
star
3

Jsource

JavaScript resources
382
star
4

logo.surf

Free Text-to-Logo-and-favicon Generator
JavaScript
150
star
5

gptshunter.com

The first and largest GPTs database
73
star
6

vux-loader

hack into vue-loader
JavaScript
64
star
7

egg-deploy

egg hot-reload tool with nginx. eggjs 热部署工具
JavaScript
44
star
8

vue-config

An easy way to get App config
JavaScript
36
star
9

awesome-pm

这里收集那些神奇的产品经理为我们带来的意想不到的产品功能和改版,又称 MDZZ_PM
31
star
10

sf-notifier

[Deprecated] [Chrome] SegmentFault 站内消息提醒插件
JavaScript
10
star
11

flomo

Flomo Cli
JavaScript
4
star
12

vux-design

这是一个【坑】,逐步开源PC后台界面组件
4
star
13

nodeprint

[Deprecated]nodeprint
PHP
3
star
14

vue-shop

基于Vue的移动端商城设计和实践
3
star
15

vux-rem-demo

vux 和lib_flexible.js同时使用问题
JavaScript
2
star
16

vux-demo

demos for vux
2
star
17

notion-clone

2
star
18

weapp-design

Write WeApp like a pro ~
1
star
19

seedit.ui.progressbar

seedit UI 进度条
CSS
1
star
20

raosee

raosee
PHP
1
star
21

pux

类 Kong.js 的 Node.js 网关,支持负载均衡,支持 egg.js 等框架应用热重启
1
star
22

simpli

my blog theme
PHP
1
star
23

online-glaicier-CoPanel

AI Plugin Store for Browser
CSS
1
star
24

we-pay

co wechat pay sdk
JavaScript
1
star
25

visual-pollution

微博广告视觉污染
1
star
26

rememo

a diary service
1
star
27

whois3-cli

JavaScript
1
star
28

airyland

JavaScript
1
star
29

userscripts

browser helper
1
star
30

vux-dist

CSS
1
star