Skip to content

dengzeyan/ZhihuHelp

 
 

Repository files navigation

知乎助手1.7.4 forks stars issues

项目说明

知乎助手姚泽源 创作,采用 MIT 协议进行许可。

  • 项目基于Python2.7构建,旨在用最简洁的方式帮助知友将知乎内容转为Epub电子书
  • 目前的1.7.x系列是知乎助手发布计划中的过渡版本,在该版本中,我会尽可能多的为助手添加功能,为2.0版本的图形界面做准备

使用说明

  1. (Windows用户)安装python2.7运行环境

  2. 下载知乎助手并解压缩

    • 解压缩后
  3. 打开ReadList.txt,将待收集的网址填进去,完成后保存并关闭该文件

    • ReadList
    • ReadList中每一行生成一本电子书,用『$』隔开不同的网址,『#』作为注释,『#』后所有内容都会被忽略
    • 知乎助手支持收集的网址类型见后
  4. 运行程序

    • Windows用户
      • 双击zhihuHelp.py,按照提示运行程序即可
    • Linux/Mac用户
      • 打开终端,cd到解压出的知乎助手的目录下
      • 键入命令python zhihuHelp.py,按照提示运行程序即可
      • Linux使用界面
      • Mac使用界面

知乎助手支持收集的网址类型

网址类型 描述 示例
问题 单个问题的网址,
程序运行时除了下载答案,
还会顺带把问题描述一起下下来
http://www.zhihu.com/question/22921426
www.zhihu.com/question/27238186
http://www.zhihu.com/question/22719537/
答案 知乎单个回答的网址,
也会下载问题描述
http://www.zhihu.com/question/21423568/answer/29751744,
www.zhihu.com/question/20894671/answer/16526661,
http://www.zhihu.com/question/22719537/answer/22733181
话题 知乎话题的地址,
保存话题信息和话题精华中的答案
http://www.zhihu.com/topic/19552430,
http://www.zhihu.com/topic/19551147/top-answers,
http://www.zhihu.com/topic/19554859
指定知乎用户的全部回答 用户的个人主页 http://www.zhihu.com/people/yolfilm,
http://www.zhihu.com/people/ying-ye-78/answers,
http://www.zhihu.com/people/bo-cai-28-7/logs
公开收藏夹 知乎公开收藏夹的地址,
保存收藏夹信息和收藏夹内的答案
http://www.zhihu.com/collection/26489045,
http://www.zhihu.com/collection/19633165,
http://www.zhihu.com/collection/19641505
私人收藏夹 知乎私人收藏夹的地址,
保存收藏夹信息和收藏夹内的答案,
需要创建者用自己的ID登陆知乎助手
和正常收藏夹地址一样
专栏 专栏的网址 http://zhuanlan.zhihu.com/yolfilm,
http://zhuanlan.zhihu.com/epiccomposer,
http://zhuanlan.zhihu.com/Wisdom
专栏文章 单篇专栏文章的网址 http://zhuanlan.zhihu.com/Wisdom/19636626,
http://zhuanlan.zhihu.com/zerolib/19972661,
http://zhuanlan.zhihu.com/cogito/19968816

补充:

  1. ReadList.txt文件中每一行对应一本电子书,一行中可以添加多个网址以输出到同一本电子书里,使用$符号分开即可
  2. 网址后可添加# 注释以方便记忆,助手在分析网址时会自动忽略#后的内容
  3. 助手目前还在快速迭代期,数据库、代码结构均不固定,所以暂时不能利用数据库起到永久保存知乎答案的功能,各位见谅则个:)
  4. 制作知乎2013年度回答300问的方法请戳这里

配置项说明:

  1. 知乎助手的配置内容位于运行目录下的config.json中,各项配置功能如下
  2. article_order_by
    • 文章排序指标
    • 可选值
      • update_date
        • 更新日期
      • agree_count
        • 赞同数
      • char_count
        • 字数
  3. article_order_by_desc
    • 是否按照降序对排序指标进行排列
    • 可选值
      • true
        • 对于设定指标按降序排列(例如,按赞同数降序排列)
      • false
        • 对于设定指标按升序排列
  4. answer_order_by
    • 答案排序指标,为对问题内答案进行排序的依据
    • 可选值
      • 同article_order_by
  5. answer_order_by_desc
    • 是否按照降序对排序指标进行排列
    • 同article_order_by_desc
  6. question_order_by
    • 问题排序指标,为对电子书内问题进行排序的依据
    • 可选值
      • answer_count
        • 问题内的答案数
      • char_count
        • 问题内答案总字数
      • agree_count
        • 问题内答案总赞同数
  7. question_order_by_desc
    • 是否按照降序对排序指标进行排列
    • 同article_order_by_desc
  8. author_answer_order_by
    • 作者回答排序原则
    • 可选值
      • agree_count * 赞同数
      • answer_id * 回答日期
      • char_count * 字数
  9. author_answer_order_by_desc
    • 作者答案排序指标,为对回答内答案进行排序的依据
    • 可选值
      • 同article_order_by_desc
  10. account
    • 用户名,只能是知乎登陆邮箱
  11. password
    • 密码
  12. max_answer
    • 每本电子书中最大可容纳的答案数,超过该值电子书将自动分割为多本
    • 备注
      • 一篇文章视为一个回答
  13. max_question
    • 每本电子书中最大可容纳的问题,超过该值电子书将自动分割为多本
    • 备注
      • 本设置项未启用
  14. max_article
    • 每本电子书中最大可容纳的文章数,超过该值电子书将自动分割为多本
    • 备注
      • 本设置项未启用
  15. picture_quality
    • 图片质量
    • 可选项
      • 0
        • 无图模式
      • 1
        • 标清模式,下载知乎网页中所展示的图片
      • 2
        • 原图模式,下载原图
  16. show_private_answer
    • 是否抓取『禁止转载』的答案
    • 可选项
      • true
      • false
  17. update_time
    • 更新日期
    • 修改本项会导致无法自动检测更新
    • 如果想跳过检测的话将本项设置为与助手最新版本号一致即可
  18. max_thread
    • 最大线程数
    • 不建议修改,线程开的过大在抓取时会引发429错误
  19. max_try
    • 网页打开失败时的最大尝试次数
    • 默认为反复打开5次
  20. debug
    • debug模式开关
    • 可选值
      • true
      • false
  21. timeout_download_html
    • 下载网页超时时间
    • 默认为5s
  22. timeout_download_picture
    • 下载图片超时时间
    • 默认为10s
  23. remember_account
    • 是否记住密码
    • 如为否,所有设置项都会被重置为默认值

依赖

仅要求python2.7环境,不依赖任何第三方组件

Todo List

  • 支持下载专栏文章;
  • 支持下载单篇专栏文章;
  • 提供GUI界面;
  • 支持分卷输出电子书;
  • 撰写接口文档;
  • 支持自定义编辑电子书。
  • 电子书增加封面,封面图片
  • 进一步的,应当为不同种类的电子书增加不同种类的封面
  • 按知乎圆桌收集答案
  • 按自定义规则过滤收集到的答案(目前只能通过用户手工在代码中编写SQL语句来实现)
  • 收集折叠区内的答案
  • 支持收集特定日期范围内指定用户点过赞的所有答案和专栏文章;
  • 按用户关注的问题收集答案
  • 实现真正意义上的答案混排(例如可以指定答案出现的位置、顺序等)
  • 实现对答案展现的控制(例如将指定答案的用户名换为另一位用户的用户名)
  • 收集更多的用户/答案信息
  • 按要求直接提取数据库数据
  • 改进电子书样式
  • 增加输出为单张网页的功能
  • 在捕获收藏夹信息时将创建者头像一并捕获进来

##License

MIT

About

快速将知乎内容转换为epub电子书

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 96.9%
  • CSS 2.0%
  • HTML 1.1%