我的前端学习之路:Medium Stats Insights 1.1.2 版本

Medium Stats Insights已经做了一些更新。

photo by Karina Vorozheeva on Unsplash

Inspiration exists, but it has to find us working.
— Pablo Picasso

优化点

  1. 去除了获取所有文章的逻辑,打开时间从分钟级别提升到秒级别
  2. 去除 views 数据
    1. 官方禁止了 https://medium.com/me/stats/total/startTime/endTime 接口,无法获取view相关数据了
    2. 根据 反馈,views 数据并不准确
  3. 大盘增加Top 10 stories 的来源分析。目前我的文章数据只有这五种来源。如果有遗漏,欢迎大家反馈。
    image.png

为什么

维护/优化这个插件,是一个自己学习、尝试的过程

就像 How to get your stats on Medium: try Medium Stats Insights extension | by Wesley Wei | Apr, 2024 | Programmer’s Career 说明的,我维护这个插件有两个原因:

  1. 从零开始,学习一些前端知识,努力成为一个全栈工程师
  2. 希望有些汇总、分析数据,能够让我更清楚、更方便知道我的medium的文章情况

而这些事情本来有medium用户已经做了,并且很受欢迎。本插件的原型就来自于 GitHub - HcwXd/better-medium-stats: A chrome extension that helps writers on Medium get more insights from the stats
但该插件目前已经不可用了,本着学习的态度,结合自己的需求,我于是就开发了 medium-stats-insights 这个插件。
image.png
当然,开发这个插件时,我也保持了和原作者沟通,因为初期的代码和原作者的项目还是有很大相似之处。但后面本插件除了非可抗力因素(如medium将接口封禁),我会跟随自己的学习需求,逐步改进并使用新的前端技术,使其成为一个独一无二的开源项目。

声明及建议

一些提醒点

首先,代码库在GitHub - tfrain/medium-stats-insights: Get insights into your Medium stats,并不会收集使用者的数据,本插件仅用于学习目的。

插件获取的数据主要来源于两处:

  1. 非官方的json数据接口
  2. 用户也会请求的、简单的 graphsql 数据接口

你可以看到,这两种方式去请求数据随时可能被medium封禁,就像上文提到的views获取接口就在近期被封禁了,所以本插件理论上随时可能无法工作。

归根结底是因为medium目前没有一个像facebook和twitter 对开发者友好的生态体系,medium上的生态开发者,应该大都像我这样通过抓包等方式获取一些可用的数据接口。

而这种初级的方式对开发者并不友好,对于使用者来说也不稳定。希望medium能有一天能提供更好的官方的接口,而不是目前这样需要开发者去自行探索。

下一个阶段

就像上文说的,下一个阶段我会进行进一步改动,会告别原本的技术栈,使用typescript等技术重构。

在我重构的过程中,欢迎大家提出更多意见,说不定就可以顺手做了。 anyway,这篇文章介绍的不是简单的changelog,更多的是介绍了我学习的过程,这才是最重要的。

感谢huzhou的建议和首个评价,这给了我很大的鼓舞。都读到这里了,希望各位medium的作者也去尝试一下这个插件 :)

English post: https://programmerscareer.com/medium-extension-1-1-2/
作者:Wesley Wei – Twitter Wesley Wei – Medium
注意:本文为作者原创,转载请注明出处。

golang中你应该知道的flag库知识 15节课帮助你更好地理解Golang- Golang基本技能树

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×