Giter Site home page Giter Site logo

idoulist's People

Contributors

bonjourup avatar ccqpein avatar mofhu avatar nicetag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

idoulist's Issues

Function1-minimal viable product

通过 function 0 我们小试牛刀,进行了基本的工程尝试,并在原则上可把一个豆列的内容抓取到本地。
在 function 1 中,我们将开放豆瓣并不支持的比较豆列功能,也就是说,这个功能将能给我们带来一些更为实际的帮助

  • 功能1: 对比两个/多个豆列内容
    • 应用场景: 开智群的哪些书我没有看过?, 我和阳老的心理学阅读有哪些交集?
    • 输入: 两个豆列链接 A B
    • 输出: AB的交/并,(A-B)等

Remaining work of week5

按照内容 (预计输出位置) 组织列表:

  • 作品说明书 (repo/readme)
  • 作品概要设计书 (wiki)
  • 作品细节开发指南 (wiki教程)
  • 作品版本更新说明 (wiki) @Frank-the-Obscure
  • 作品安装使用指南 (readme + wiki) @Frank-the-Obscure
  • 整理演示资料: 包括演示纪要, 演示经验与反思, QA等. (wiki)

读取书名和其它信息

导入豆列时同时读取书名,或通过书籍链接进一步抓取其它信息。
i:豆列链接或者书籍链接列表
o: 书名(或者还包括作者等)列表

Word cloud: font size bug

目前word cloud部分输出的字体大小并不是完全按词频, 而是似乎与列表序列有关.

需要进一步测试, 自己尝试修改后也可与原作者沟通

Improvements needed

只是,没有给出真正的能令没动手的开始动手的方法哪?!

俺建议,腿长,
可以在两个方面,给出细碎的任务:
- 已经完成的代码基础上的小功能追加
- 新功能的不同方向方案的探索任务

这样,成员都才能真正进入工程空间.

祝顺利, 团队中,怕的不是有的慢有的快,
而是加入不能

被大妈的建议鼓舞, 开此 issue 鼓励大家进行第一行代码的输出, 这里列出的待实现功能也许不是那么复杂, 但对于一个项目来说, 并没有哪部分比其它部分重要. 这些功能同样是我们的作品的重要部分, 但很适合上手: 希望小伙伴们能用这些内容写下自己在 iDoulist 中的第一行代码, 第一个函数 😄

  • 中文提示及输出优化: 功能 0 的一切 UI 提示和输出文档都是英文, 对于我们的用户而言并非是好选择, 有必要优化为更易于使用的结构, 包括以下可能的优化:
    • UI 中的中文提示
    • 输出文档和 CLI 中的中文提示
    • 输出文档的格式优化
    • tips: print 函数的各种使用姿势可参考笨办法学 Python 5-9
  • 输入输出鲁棒性(robustness)优化

GUI module

已有基于command line的UI原型实现,改换成GUI对于用户可能会更加友好;

QA 大妈建议采用 python 自带的 tk 模块实现 GUI

Fix known bugs

已知的原型不完善之处:

  • 多页豆列读取,暂只能读取第一页前 25 个链接
    • fix 思路已有: 可考虑用页面标志判断;多页豆列的每一页应有一些独特的标志,通过正则表达式匹配即可完成页数判定
  • 正则表达式相关:
    • UI: re.match() 是从字符串的开始进行匹配,当遇到 '正确链接 + xxx'的模式时,也会进行匹配导致 bug
    • input: 内容抓取, re.findall() 还有一些问题,如目前暂只识别豆列中的图书链接

User interface

Interacts with user.

最基本版本中, 实现读取一行 url, 并导出到一个变量中即可.
有余力可考虑加入识别 url 是否合法的功能 (也许可以用 re-regular expression 实现).

长期来看, 要用一个图形化界面模块, 需要 google.
我猜测 tk 可能是个选择.

Output to douban.com

导出到本地是相对容易实现的功能,但基于豆瓣的功能,如果能立刻把结果回灌到豆列之中,将有非常好的效果!
即实现了豆瓣-本地处理-豆瓣的信息回路。
实现思路:
改变自己对某个书籍的状态,豆瓣似乎提供了api,可尝试使用;(但这不是在豆列中添加)
在豆列中添加,是否有可用的链接模式/api?
最坏情况下,完全模拟用户操作实现添加

还有其它中文字体可以选择吗?

正在学着用word_cloud生成标签云,看到例子里用的字体是WeibeiSC-Bold.otf,想试一下别的字体,但是看pil的文档没有,请问怎么可以找得到?谢谢大大!

#4爱豆列 需求讨论:1、2、3条的讨论

  • 1.为什么要在豆列中找书?在豆列中找书,是已经知道书名了吗?

我理解的在豆列中找书是,我不知道书的名字,我只是想看看有哪些书是豆列作者推荐的书,然后我找来阅读。不知是否正确?

  • 2.为什么要比较豆列是否重叠?一部分书重叠是豆列的常态。那么是要筛查全部重叠?

利用别人的豆列建立自己的豆列,如果能打标签标注豆列出处,这样就可以**“结构化”**处理豆列。也有助于发现优质内容。

  • 3.导出豆列的形式是:

豆瓣的豆列刚刚用了一下,感觉就像书签类网站!比如delicious,不同的是delicious没有书目列表,delicious没有用过导出功能,像浏览器自带的书签功能,一般导出是html形式,有文件夹标题,然后是书签文件夹里详细的各标题链接内容。

个人认为导出html形式,不太方便整理。如果能导出excel格式的,是最好的。尤其是对书籍类豆列。
这样就可以筛选和排序数据。

(刚发现,豆瓣豆列有浏览器插件,当你在网上发现了什么好的内容需要收藏以方便回看时,可以直接点击浏览器插件就会添加到你指定的豆列里了)

Process

已有 std input, 参考 issue #2 给出的输入结果, 通常是一个列表

Process 的目的是: 写出一系列函数,实现各种任性的豆列操作功能:

  • 合并豆列
  • 计算两个豆列的 交/并/补
  • 任性添加自己想要的功能

Docs

继续更新产品文档 使用实例 代码注释等信息, 使产品更完备并易于上手

  • 产品文档
    • 产品数据结构和流程简述
  • 应用实例
    • 读入豆列
    • 导出到本地
    • 导出到豆列
    • 导出当前书籍列表的标签云图片
  • 代码注释补充

最后的开发内容

第三次演示过后, 大约还剩4-5天开发时间.
这段时间我们要完成的内容有哪些?

  • 产品还有哪些功能值得开发?
  • 小组产生哪些教程?
  • 如何演示?
    等等

除了微信之外, 我们也可以在此讨论.

Frank
20150530

输出到豆列: 更快

目前输出模块基于 pyautogui 模拟鼠标键盘操作, 依赖于浏览器的反应速度, 长豆列的输出相当慢(一分钟5本书左右, 100本就需要20分钟).
有必要提高输出到豆列的速度.

如何实现:

  • 并行: 同时输出 n 个窗口
  • 改变输出模式: 键盘鼠标操作本质上还是通过浏览器给豆瓣发操作, 为何不直接发操作呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.