[爬虫]:微信读书笔记工具, markdown 导出,可自定义导出格式,欢迎 star~

2020-05-19 00:22:17 +08:00
 Higurashi

注册满 30 天,终于可以发链接了😭

本项目基于@arry-lee的项目wereader修改而来,并借鉴了@shengqiangzhang一键导出微信读书的书籍和笔记中的 GUI 登录方法,感谢原作者、感谢开源。

主要功能

  1. 获取某本书的全部标注(笔记)
  2. 获取某本书指定章节的标注
  3. 获取某本书你的个人想法
  4. 获取某一本书的热门划线
  5. 获取某本书的目录
  6. 获取某本书的详情(书本信息)
  7. 获取某本书你的最新标注
  8. 获取书架上的书籍列表
  9. 自定义标注效果、标题级别

简单介绍

输入命令

python main.py

运行程序之后。

程序会提示登录,登录成功后会输出书架并提示输入书本 id(书名前面的那一串数字):

输入 id 后会列出操作指南:

这时候有两类操作可以选择:print选项的功能是输出内容到控制台并复制到剪切板;push选项的功能是将内容追加到文件末尾。

比如,现在想要将这本书的想法输出到控制台并复制到剪切板,只需要输入print 2再回车:

同样,如果想要将想法追加到文件,输入push 2即可:

至于“个人最新标注”,是用来随时输出新标注(而不让内容重复)的功能。

假设你喜欢读一部分做一部分的笔记,那么这个功能可能比较有帮助。

push 1print 1只能够输出书中的所有标注或某一章的标注,这使得你要么全部做好笔记后一次性导出标注,要么每读完一章后做一次笔记。

push 6print 6则能够让你随时导出最新标注好的内容(初次使用时将只是记录最新内容所在位置,相当于初始化)。这个选项中有两种寻找最新内容的方式,一种效果不佳可以尝试另一种。

如何运行

# 跳转到当前目录
cd 目录名
# 安装依赖库
pip install -r requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 开始运行
python main.py

如果运行出错,尝试先卸载依赖库:

# 跳转到当前目录
cd 目录名
# 先卸载依赖库
pip uninstall -y -r requirement.txt
# 再重新安装依赖库
pip install -r requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
# 开始运行
python main.py

自定义标注效果

可以编辑源文件来设置标注效果。

打开wereader.py,找到下面的代码:

level1 = '##'#(微信读书)一级标题
level2 = '###'#二级标题
level3 = '####'#三级标题
style1 = {'pre': "",   'suf': ""}#(微信读书)红色下划线
style2 = {'pre': "**",   'suf': "**"}#橙色背景色
style3 = {'pre': "",   'suf': ""}#蓝色波浪线
thought_style = {'pre': "```\n",   'suf': "\n```"}#想法前后缀
hotmarks_number = {'pre': "`",   'suf': "`  "}#热门标注标注人数前后缀

三个level变量分别代表三级标题,如果你想将改变导出内容的标题级别,可以在这里修改井号个数。

三个style变量代表微信读书中的三种标注(见注释),可以在这里设置标注效果,pre代表前缀,suf代表后缀。

比如这里的设置表示:不给用红色下划线和蓝色波浪线标注的部分添加前缀和后缀、给橙色背景色标注的部分添加前后缀**,也就是给它加粗。如果你想要将红色下划线标注的部分设置为 Markdown 格式的下划线内容,只需要将style1设置为style1 = {'pre': "<u>", 'suf': "</u>"},也就是给它添加 Markdown 中的下划线标签。

变量thought_stylehotmarks_number类似,分别用于设置想法和热门标注人数的前后缀。

补充

项目托管于GitHub

欢迎 PR 和 star,有什么问题也可以提 issue 。

3204 次点击
所在节点    Python
20 条回复
zhiiker
2020-05-19 02:22:41 +08:00
试试,已 star
lynnyl6969
2020-05-19 11:16:19 +08:00
支持一下
lynnyl6969
2020-05-19 11:36:20 +08:00
试了一下,挺好用的。不过我书架里的书有点多,好像输出的书架目录不是按照最近阅读的顺序排的,找起来有点费劲,可能是我没分类的原因吧。
everydiao
2020-05-19 12:37:17 +08:00
好棒!如果能做出来一个 app,获取微信读书的点评笔记,再把自己的点评笔记提交上去,可以互动交流那就太棒了!我去 start
Higurashi
2020-05-19 12:48:34 +08:00
@lynnyl6969 嗯,的确按顺序排才好,我看看。
Higurashi
2020-05-19 12:51:40 +08:00
@everydiao 好点子,的确做一个 APP 可能还更加方便😃
everydiao
2020-05-19 12:52:26 +08:00
@Higurashi 所以大佬你要做吗?我帮你推广啊
Higurashi
2020-05-19 13:29:44 +08:00
@everydiao 打算边学边做,不过暂时做不出来哦,你可以试试
ads1029
2020-05-19 18:19:26 +08:00
已 start. 话说犬夜叉要出新作了 hhh
Higurashi
2020-05-19 18:29:14 +08:00
@ads1029 嗯呀!有些期待哎。
Higurashi
2020-05-19 18:32:25 +08:00
@lynnyl6969 已完善💻
lynnyl6969
2020-05-20 10:06:35 +08:00
@Higurashi 好的辛苦啦
lynnyl6969
2020-05-20 14:48:59 +08:00
@Higurashi 出现了新的 bug,书架里有公众号文章的时候,bookId 不能用 int 进行强制类型转换。我这运行报错了
Higurashi
2020-05-20 17:03:09 +08:00
@lynnyl6969 嗯,的确有这个问题,公众号获取数据也有差别,我看看
Higurashi
2020-05-20 22:08:59 +08:00
@lynnyl6969 已完善💻,公众号能够输出标注,但暂时不支持输出想法等功能📌
cloudBird
2020-05-22 13:43:58 +08:00
看了一下,真的不错,不过目前微信读书网页版本身有些数据不齐全的。
Higurashi
2020-05-22 14:26:06 +08:00
@cloudBird 嗯,微信读书网页版不用扩展的话好像不能够导出笔记,也没有查看想法等功能。
Higurashi
2020-10-23 19:32:37 +08:00
😀
Higurashi
2020-10-23 21:51:25 +08:00
测试😄
Higurashi
2020-10-23 21:51:49 +08:00
测试😺

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/673058

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX