相关开源项目概述
微信读书提供了大量正版图书,全文可复制、标注便利,支持移动和PC两大平台。所以近几年一直使用微信读书看书,并对大量图书做了批注,但是微信读书不支持导出批注。在github搜下了,发现了三个比较好的项目,他们对微信读书API已经做了很多探索。
-
@arry-lee 的wereader项目,地址:
https://github.com/arry-lee/wereader
该项目是最早解释微信读书API的项目,具有以下特点:
- 第一次运行需要粘贴微信读书的cookie字符串。这就需要用户利用开发者工具获取cookie字符串,便利性稍差。
- 获取的书架图书信息是对朋友开放的图书信息,不能获取私密图书信息。
-
@shengqiangzhang的爬虫案例项目,地址:
https://github.com/shengqiangzhang/examples-of-web-crawlers
- 底层API大部分借鉴@arry-lee 的wereader项目。
- 登录时提供了基于PyQT的GUI,直接扫码登录,不用复制cookie字符串。
-
@Higurashi-kagome的微信读书助手项目,地址:
https://github.com/Higurashi-kagome/pythontools/tree/master/wereader
该项目对前两个项目进行了改进:- 底层API大部分借鉴@arry-lee 的wereader项目,但是增加了很多新功能,比如使用了更多获取书架图书信息相关的API。
- 登录时提供了基于PyQT的GUI,直接扫码登录,不用复制cookie字符串。
微信读书主要API
- 登录接口:
"https://i.weread.qq.com/user/notebooks"
- 获取书架图书信息(
bookid
):"https://i.weread.qq.com/shelf/sync?userVid=" + str(userVid) + "&synckey=0&lectureSynckey=0"
- 获取图书信息:
"https://i.weread.qq.com/book/info?bookId=" + bookId
- 获取图书章节信息:
"https://i.weread.qq.com/book/chapterInfos?" + "bookIds=" + bookId + "&synckeys=0"
- 获取图书中的标注:
"https://i.weread.qq.com/book/bookmarklist?bookId=" + bookId
- 获取图书中的个人想法:
"https://i.weread.qq.com/review/list?bookId=" + bookId + "&listType=11&mine=1&synckey=0&listMode=0"
- 获取图书的热门标注:
"https://i.weread.qq.com/book/bestbookmarks?bookId=" + bookId