Goodreads API的Python3包装器
betterreads的Python项目详细描述
这个包为Goodreads API提供了一个python接口。使用它,你可以做很多 Goodreads通过其公共API允许的任何内容。
这个包基本上与Python2兼容,但仅正式支持Python3。
为什么更好?
betterreads是pypi上goodreads2包的扩展。那个包裹已经不保了 需要一些更新才能使用。这个名字很厚颜无耻很可爱,并不意味着这个项目是 比任何其他项目都要好。我希望有一天它能被一个叫做bestreads的python包所成功。
此新项目中的主要更新:
- 对oauth使用https-goodreads现在需要这个和以前包的oauth请求总是失败
- 添加方便方法以获取特定书架的所有用户评论
-
一些固执己见的发展变化。例如
- 不再在单元测试中进行实时api调用
- 全面使用black code style
- 更强大的documentation
依赖关系
此软件包取决于以下软件包:
- xmltodict
- 请求
- 劳思
- backports datetime from isoformat
可以使用pip安装它们。
sudo pip install -r requirements.txt
如果你想参与这个软件包,你需要安装这些软件包 也在requirements-dev.txt中。
安装
要安装,请从顶级包运行以下命令 目录。
sudo python setup.py install
也可以使用pip安装betterreads。pypi上的当前版本是0.4.1。
pip install betterreads
开始
第一件事是向goodreads请求一个api密钥 here。一旦你拥有了它,你就可以 创建一个客户端实例来查询goodreads。
fromgoodreadsimportclientgc=client.GoodreadsClient(<api_key>,<api_secret>)
要访问某些方法,需要OAuth 为了授权。
gc.authenticate(<access_token>,<access_token_secret>)
注意access_token和access_token_secret是不同的 来自开发人员密钥和机密。对于开发步骤,您可以致电 同一个函数没有参数来获得授权。它会打开的 指向goodreads页以获得oauth权限的url。为了你的 应用程序,您可以将用户指向特定的url,并询问他们 授权应用并保存返回的access_token和 access_token_secret在数据库中。
示例
这个包为大多数goodreads api方法提供了一个python接口。 这里有几个例子演示如何访问goodreads上的数据。
书籍
让我们访问添加到goodreads的第一本书!这是一本有身份证的书 一。
book=gc.book(1)
一旦拥有了该书的GoodreadsBook实例,就可以 访问查询图书的数据。
>>>book.titleu'Harry Potter and the Half-Blood Prince (Harry Potter, #6)'>>>authors=book.authors>>>authors[0].nameu'J.K. Rowling'>>>book.average_ratingu'4.49'
用户
用户数据可以通过用户id或用户名检索。
>>>user=gc.user(1)>>>user.nameu'Otis Chandler'>>>user.user_nameu'otis'>>>user.small_image_urlu'http://d.gr-assets.com/users/1189644957p2/1.jpg'
组
让我们找一个小组来讨论python并获得更多关于它的信息。
>>>g=gc.find_groups("Python")>>>g=groups[0]>>>g['title']u'The Computer Scientists'>>>group=gc.group(g['id'])>>>group.descriptionu'Only for Committed Self Learners and Computer Scientists Who are Starving forInformation,andWanttoAdvancetheirSkillsThrough:Reading,PracticingandDiscussionComputerScienceandProgrammingBooks.'
事件
goodreads api还允许列出一个区域中发生的事件。
>>>events=gc.list_events(21229)>>>event=events[0]>>>event.titleu'Books and Cocktails'>>>event.addressu'120 N. Front St.'>>>event.cityu'Wrightsville'
文档
阅读有关此软件包的详细信息 here。
贡献
如果发现此包不支持的api方法,请感觉 免费创建github问题。另外,欢迎您提交 请求错误修复或附加功能的请求。有关详细信息 参与此项目并设置本地开发环境, 签出our contribution guide。
许可证
确认
感谢Paul Shannon和Sefa Kilic 用于在pypi提供“goodreads”包,以及Tatiana和 Rehan Khwaja用于继续t他表现得很好。贝特雷斯不可能存在 没有你们所有人。