zhihu-python


Namezhihu-python JSON
Version 1.2.5 PyPI version JSON
download
home_pagehttps://github.com/yanjlee/zhihu-python
Summaryzhihu-python 采用 python2.7 编写,用来方便地获取知乎上各种内容的信息,并且可以方便地将答案备份导出为 txt 或 markdown 文件。由于知乎官方目前没有提供 api,所以有了此项目的存在。.
upload_time2024-06-01 08:46:21
maintainerNone
docs_urlNone
authoryanjlee
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements requests beautifulsoup4 html2text termcolor
Travis-CI No Travis.
coveralls test coverage No coveralls.
            zhihu-python:获取知乎信息
===============================

:Author: `egrcc <https://github.com/egrcc>`_ ( `微博 <http://weibo.com/u/2948739432>`_ | `电邮 <zhaolujun1994@gmail.com>`_ )
:Committer: `Eureka22 <https://github.com/Eureka22>`_ ,  `lufo816 <https://github.com/lufo816>`_ , `LuoZijun <https://github.com/LuoZijun>`_
:Update: 09/09 2015


.. contents::


介绍
----

zhihu-python 采用 python2.7 编写,用来方便地获取知乎上各种内容的信息,并且可以方便地将答案备份导出为 txt 或 markdown 文件。由于知乎官方目前没有提供 api,所以有了此项目的存在。

使用 python3 的类似项目可以参见:`zhihu-py3 <https://github.com/7sDream/zhihu-py3>`_ 。

**注: 本项目代码均在 Ubuntu14.04 上使用 python2.7.6 编写和测试通过,其他环境可能存在一定问题。**

获取某个问题下的全部回答并导出,很简单:

.. code-block:: python

    from zhihu import Question
    
    url = "http://www.zhihu.com/question/24269892"
    question = Question(url)
    answers = question.get_all_answers()
    for answer in answers:
        answer.to_txt()
        answer.to_md()
 
会在当前目录下新建text,markdown两个文件夹,并将所有txt文件保存到text文件夹,所有markdown文件保存到markdown文件夹。

备份某大V的全部回答,也很简单:

.. code-block:: python
    
    from zhihu import User
    
    user_url = "http://www.zhihu.com/people/jixin"
    user = User(user_url)
    answers = user.get_answers()
    for answer in answers:
        answer.to_txt()
        answer.to_md()
        
导出的markdown,txt文件示例请见该项目的markdown,text文件夹。当然,想要知道某大V关注了那些人,提了什么问题也不在话下,详情请见:快速开始。        



快速开始
---------

准备
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

**Tips** :

1.  确保你的系统里面已经安装了 `Python2.7 <https://www.python.org/>`_ ,不同作业系统如何安装不再赘述。
2.  检查你系统中 `python` 和 `pip` 的版本, 如果不属于 `python2.7` , 请在执行代码范例时,自行将 `python` 和 `pip` 分别替换成 `python2.7` 和 `pip2` 。
3.  确保你的系统中安装了 `git` 程序 以及 `python-pip` 。


**克隆本项目**


.. code:: bash

  git clone git@github.com:egrcc/zhihu-python.git
  cd zhihu-python


**解决依赖**

* `Beautiful Soup 4 <http://www.crummy.com/software/BeautifulSoup/>`_
* `requests <https://github.com/kennethreitz/requests>`_
* `html2text <https://github.com/aaronsw/html2text>`_
* `termcolor <https://pypi.python.org/pypi/termcolor>`_


.. code:: bash

  sudo pip install -r requirements.txt


or

.. code:: bash

  sudo pip2 install -r requirements.txt



**登录知乎**


登录 `知乎` 生成身份信息, 保存在当前目录的 `cookies` 文件中。

.. code:: bash
  
  python auth.py


**执行测试**


.. code:: bash

  python test.py

不出意外,一切应该完美运行 :))



Question:获取问题信息
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Question 代表一个问题,处理知乎问题相关操作。创建一个 Question 对象需传入该问题的 url ,如:

.. code-block:: python

    from zhihu import Question
    
    url = "http://www.zhihu.com/question/24269892"
    question = Question(url)

得到 Question 对象后,可以获取该问题的一些信息:

.. code-block:: python

    # -*- coding: utf-8 -*-
    from zhihu import Question
    
    url = "http://www.zhihu.com/question/24269892"
    question = Question(url)

    # 获取该问题的标题
    title = question.get_title()
    # 获取该问题的详细描述
    detail = question.get_detail()
    # 获取回答个数
    answers_num = question.get_answers_num()
    # 获取关注该问题的人数
    followers_num = question.get_followers_num()
    # 获取该问题所属话题
    topics = question.get_topics()
    # 获取该问题被浏览次数
    visit_times = question.get_visit_times()
    # 获取排名第一的回答
    top_answer = question.get_top_answer()
    # 获取排名前十的十个回答
    top_answers = question.get_top_i_answers(10)
    # 获取所有回答
    answers = question.get_all_answers()

    print title  # 输出:现实可以有多美好?
    print detail
    # 输出:
    # 本问题相对于“现实可以多残酷?传送门:现实可以有多残酷?
    # 题主:       昨天看了“现实可以有多残酷“。感觉不太好,所以我
    # 开了这个问题以相对应,希望能够“中和一下“。和那个问题题主不想
    # 把它变成“比惨大会“一样,我也不想把这个变成“鸡汤故事会“,或者
    # 是“晒幸福“比赛。所以大家从“现实,实际”的角度出发,讲述自己的
    # 美好故事,让大家看看社会的冷和暖,能更加辨证地看待世界,是此
    # 题和彼题共同的“心愿“吧。
    print answers_num  # 输出:2441
    print followers_num  # 输出:26910
    for topic in topics:
        print topic,  # 输出:情感克制 现实 社会 个人经历
    print visit_times  # 输出: 该问题当前被浏览的次数
    print top_answer  
    # 输出:<zhihu.Answer instance at 0x7f8b6582d0e0>
    # Answer类对象
    print top_answers  
    # 输出:<generator object get_top_i_answers at 0x7fed676eb320>
    # 代表前十的Answer的生成器
    print answers  
    # 输出:<generator object get_all_answer at 0x7f8b66ba30a0>
    # 代表所有Answer的生成器

   
Answer:获取答案信息
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Answer 代表了一个答案,处理知乎答案相关操作。创建一个 Answer 对象需传入该答案的 url ,如:

.. code-block:: python

    from zhihu import Answer
    
    answer_url = "http://www.zhihu.com/question/24269892/answer/29960616"
    answer = Answer(answer_url)

得到 Answer 对象后,可以获取该答案的一些信息:

.. code-block:: python
    
    # -*- coding: utf-8 -*-
    from zhihu import Answer
    
    answer_url = "http://www.zhihu.com/question/24269892/answer/29960616"
    answer = Answer(answer_url)
    # 获取该答案回答的问题
    question = answer.get_question()
    # 获取该答案的作者
    author = answer.get_author()
    # 获取该答案获得的赞同数
    upvote = answer.get_upvote()
    # 获取该答案所属问题被浏览次数
    visit_times = answer.get_visit_times()
    # 获取所有给该答案点赞的用户信息
    voters = answer.get_voters()
    # 把答案输出为txt文件
    answer.to_txt()
    # 把答案输出为markdown文件
    answer.to_md()

    print question
    # <zhihu.Question instance at 0x7f0b25d13f80>
    # 一个Question对象
    print question.get_title()  # 输出:现实可以有多美好?
    print author
    # <zhihu.User instance at 0x7f0b25425b90>
    # 一个User对象
    print voters 
    # <generator object get_voters at 0x7f32fbe55730>
    # 代表所有该答案点赞的用户的生成器
    print author.get_user_id()  # 输出:田浩
    print upvote  # 输出:9320
    print visit_times  # 输出: 改答案所属问题被浏览次数


User:获取用户信息
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

User 代表一个用户,处理用户相关操作。创建一个 User 对象需传入该用户的 url ,如:

.. code-block:: python
    
    from zhihu import User
    
    user_url = "http://www.zhihu.com/people/jixin"
    user = User(user_url)

得到 User 对象后,可以获取该用户的一些信息:

.. code-block:: python
    
    # -*- coding: utf-8 -*-
    from zhihu import User
    
    user_url = "http://www.zhihu.com/people/jixin"
    user = User(user_url)
    # 获取用户ID
    user_id = user.get_user_id()
    # 获取该用户的关注者人数
    followers_num = user.get_followers_num()
    # 获取该用户关注的人数
    followees_num =user.get_followees_num()
    # 获取该用户提问的个数
    asks_num = user.get_asks_num()
    # 获取该用户回答的个数
    answers_num = user.get_answers_num()
    # 获取该用户收藏夹个数
    collections_num = user.get_collections_num()
    # 获取该用户获得的赞同数
    agree_num = user.get_agree_num()
    # 获取该用户获得的感谢数
    thanks_num = user.get_thanks_num()
    
    # 获取该用户关注的人
    followees = user.get_followees()
    # 获取关注该用户的人
    followers = user.get_followers()
    # 获取该用户提的问题
    asks = user.get_asks()
    # 获取该用户回答的问题的答案
    answers = user.get_answers()
    # 获取该用户的收藏夹
    collections = user.get_collections()
    
    print user_id # 黄继新
    print followers_num # 614840
    print followees_num # 8408
    print asks_num # 1323
    print answers_num # 786
    print collections_num # 44
    print agree_num # 46387
    print thanks_num # 11477
    
    print followees
    # <generator object get_followee at 0x7ffcac3af050>
    # 代表所有该用户关注的人的生成器对象
    print followers
    # <generator object get_follower at 0x7ffcac3af0f0>
    # 代表所有关注该用户的人的生成器对象
    print asks
    # <generator object get_ask at 0x7ffcab9db780>
    # 代表该用户提的所有问题的生成器对象
    print answers
    # <generator object get_answer at 0x7ffcab9db7d0>
    # 代表该用户回答的所有问题的答案的生成器对象
    print collections
    # <generator object get_collection at 0x7ffcab9db820>
    # 代表该用户收藏夹的生成器对象


Collection:获取收藏夹信息
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Collection 代表一个收藏夹,处理收藏夹相关操作。创建一个 Collection 对象需传入该收藏夹的 url ,如:

.. code-block:: python

    from zhihu import Collection
    
    collection_url = "http://www.zhihu.com/collection/36750683"
    collection = Collection(collection_url)

得到 Collection 对象后,可以获取该收藏夹的一些信息:

.. code-block:: python
    
    # -*- coding: utf-8 -*-
    from zhihu import Collection
    
    collection_url = "http://www.zhihu.com/collection/36750683"
    collection = Collection(collection_url)
    
    # 获取该收藏夹的创建者
    creator = collection.get_creator()
    # 获取该收藏夹的名字
    name = collection.get_name()
    # 获取该收藏夹下的前十个答案
    top_answers = collection.get_top_i_answers(10)
    # 获取该收藏夹下的所有答案
    answers = collection.get_all_answers()
    
    print creator 
    # <zhihu.User instance at 0x7fe1296f29e0>
    # 一个User对象
    print creator.get_user_id() # 稷黍
    print name # 给你一个不同的视角
    print top_answers
    # <generator object get_top_i_answers at 0x7f378465dc80>
    # 代表前十个答案的生成器对象
    print answers 
    # <generator object get_all_answer at 0x7fe12a29b280>
    # 代表所有答案的生成器对象
    

综合实例
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

将 Question , Answer , User , Collection 结合起来使用。实例如下:

.. code-block:: python

    # -*- coding: utf-8 -*-
    from zhihu import Question
    from zhihu import Answer
    from zhihu import User
    from zhihu import Collection
    
    url = "http://www.zhihu.com/question/24269892"
    question = Question(url)
    # 得到排名第一的答案
    answer = question.get_top_answer()
    # 得到排名第一的答案的作者
    user = answer.get_author()
    # 得到该作者回答过的所有问题的答案
    user_answers = user.get_answers()
    # 输出该作者回答过的所有问题的标题
    for answer in user_answers:
        print answer.get_question().get_title()
    # 得到该用户的所有收藏夹
    user_collections = user.get_collections()
    for collection in user_collections:
	# 输出每一个收藏夹的名字
        print collection.get_name()
	# 得到该收藏夹下的前十个回答
        top_answers = collection.get_top_i_answers(10)
	# 把答案内容转成txt,markdown
        for answer in top_answers:
            answer.to_txt()
            answer.to_md()

以上示例均可以在test.py文件中找到。

虽然是单线程,但速度不算太慢。抓取 `哪些东西买了之后,会让人因生活质量和幸福感提升而感觉相见恨晚? <http://www.zhihu.com/question/20840874>`_ 下前200个回答,91秒;抓取 `有哪些 100 元以下,很少见但高大上的物件? <http://www.zhihu.com/question/23054572>`_ 下前50个回答,48秒;抓取 `现实可以有多美好? <http://www.zhihu.com/question/24269892>`_ 下前200个回答,69秒。生成的文件请见markdown,text文件夹。所有匿名用户的回答放在一个文件里面。


API
-------

zhihu.Question ---- 知乎问题操作类
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*class* zhihu. **Question** (*url, title = None*)

 Question 以 url 为唯一标识,创建一个 Question 对象实例必须传入一个代表知乎问题的 url (如:         http://www.zhihu.com/question/26611428),需包含“http://”。如果传入的不是代表问题的 url ,程序会报错。通过调用 Question 类的一系列方法,获得该问题的一些信息。
 
 **Parameters**:
  * **url** -- 该问题的链接,字符串
  * **title** -- 该问题的标题,字符串,可选
 
 **Returns**: 一个 Question 实例对象
 
 **get_title** ()
 
  得到该问题的标题。
  
  **Returns**: 代表标题的字符串
 
 **get_detail** ()
 
  得到该问题的详细描述。原问题的描述可能带有图片或视频,这里得到的是纯文字。
  
  **Returns**: 代表详细描述的字符串
 
 **get_answers_num** ()
 
  得到该问题的回答个数。
  
  **Returns**: 代表回答个数的 int 型整数
 
 **get_followers_num** ()
 
  得到关注该问题的人数。
  
  **Returns**: 代表人数的 int 型整数
 
 **get_topics** ()
 
  得到该问题所属的话题。
  
  **Returns**: 一个 list ,每一个元素为代表一个话题的字符串
  
  注:以后可能会添加一个 Topic 类,到时候每一个元素为代表一个话题的 Topic 类对象。
 
 **get_all_answers** ()
 
  得到该问题的所有回答。
  
  **Returns**: 包含所有答案的 generator 对象。其中每一个元素为代表一个答案的 Answer 对象 
 
 **get_top_i_answers** (n)
 
  得到该问题的前 n 个回答。
  
  **Parameters**: **n** -- int 型整数
  
  **Returns**: 包含前 n 个答案的 generator 对象。其中每一个元素为代表一个答案的 Answer 对象
 
 **get_top_answer** ()
 
  得到目前排名第一的回答。
 
  **Returns**: 代表该答案的 Answer 对象
  
 **get_visit_times** ()
 
  得到该问题被浏览次数。该方法由 `@lufo816 <https://github.com/lufo816>`_ 添加。
 
  **Returns**: 代表浏览次数的 int 型整数
 

zhihu.User ---- 知乎用户操作类
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*class* zhihu. **User** (*user_url, user_id = None*)

 User 以 url 为唯一标识,创建一个 User 对象实例必须传入一个代表知乎用户的 url (如:         http://www.zhihu.com/people/egrcc),需包含“http://”。如果传入的不是代表用户的 url ,程序会报错。通过调用 User 类的一系列方法,获得该用户的一些信息。
 
 **Parameters**:
  * **user_url** -- 该用户的链接,字符串
  * **user_id** -- 该用户的 ID ,字符串,可选
  
 **Returns**: 一个 User 实例对象

 **get_user_id** ()
 
  得到该用户的ID。
  
  **Returns**: 代表 ID 的字符串
 
 **get_followees_num** ()
 
  得到该用户关注的人的个数。
  
  **Returns**: 代表人数的 int 型整数
 
 **get_followers_num** ()
 
  得到关注该用户的人的个数。
  
  **Returns**: 代表人数的 int 型整数
 
 **get_agree_num** ()
 
  得到该用户获得的赞同数。
  
  **Returns**: 代表赞同数的 int 型整数
 
 **get_thanks_num** ()
 
  得到该用户获得的感谢数。
  
  **Returns**: 代表感谢数的 int 型整数
 
 **get_asks_num** ()
 
  得到该用户提问题的个数。
  
  **Returns**: 代表问题数的 int 型整数 
 
 **get_answers_num** ()
 
  得到该用户回答问题的个数。
  
  **Returns**: 代表问题数的 int 型整数 
 
 **get_collections_num** ()
 
  得到该用户收藏夹的个数。
  
  **Returns**: 代表收藏夹数的 int 型整数 
 
 **get_followees** ()
 
  得到该用户关注的人。
  
  **Returns**: 包含所有该用户关注的人的 generator 对象。其中每一个元素为代表一个用户的 User 对象
 
 **get_followers** ()
 
  得到关注该用户的人。
  
  **Returns**: 包含所有关注该用户的人的 generator 对象。其中每一个元素为代表一个用户的 User 对象
 
 **get_asks** ()
 
  得到该用户提的所有问题。
  
  **Returns**: 包含所有问题的 generator 对象。其中每一个元素为代表一个问题的 Question 对象
 
 **get_answers** ()
 
  得到该用户回答的所有问题的答案。
  
  **Returns**: 包含所有回答的 generator 对象。其中每一个元素为代表一个回答的 Answer 对象
 
 **get_collections** ()
 
  得到该用户的所有收藏夹。
  
  **Returns**: 包含所有收藏夹的 generator 对象。其中每一个元素为代表一个收藏夹的 Collection 对象
 

zhihu.Answer ---- 知乎回答操作类
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*class* zhihu. **Answer** (*answer_url, question = None, author = None, upvote = None, content = None*)

 Answer 以 url 为唯一标识,创建一个 Answer 对象实例必须传入一个代表知乎回答的 url (如:         http://www.zhihu.com/question/19878575/answer/14776495),需包含“http://”。如果传入的不是代表回答的 url ,程序会报错。通过调用 Answer 类的一系列方法,获得该回答的一些信息。一般不自己创建Answer对象。
 
 **Parameters**:
  * **answer_url** -- 该答案的链接,字符串
  * **question** -- 该答案回答的问题, Question 对象,可选
  * **author** -- 该答案的作者, User 对象,可选
  * **upvote** -- 该答案获得的赞同数, int 型整数,可选
  * **content** -- 该答案的内容, BeautifulSoup 对象,可选
  
 **Returns**: 一个 Answer 实例对象

 **get_question** ()
 
  得到该答案回答的问题。
  
  **Returns**: 一个 Question 对象
 
 **get_author** ()
 
  得到该答案的作者 。
  
  **Returns**: 一个 User 对象
 
 **get_upvote** ()
 
  得到该答案获得的赞同数。
  
  **Returns**: 一个 int 型整数
 
 **get_content** ()
 
  得到该答案的内容。
  
  **Returns**: 一个 BeautifulSoup 对象
  
 **get_visit_times** ()
 
  得到该答案所属问题被浏览次数。该方法由 `@lufo816 <https://github.com/lufo816>`_ 添加。
 
  **Returns**: 代表浏览次数的 int 型整数
  
 **get_voters** ()
 
  得到给该答案点赞的用户。该方法由 `@lufo816 <https://github.com/lufo816>`_ 添加。
 
  **Returns**: 包含所有给该答案点赞的用户的 generator 对象。其中每一个元素为代表一个用户的 User 对象
 
 **to_txt** ()
  
  将该答案转成txt文件,并会在当前目录下创建一个text文件夹,所生成的txt文件均保存在该文件夹。
 
 **to_md** ()
 
  将该答案转成markdown文件,并会在当前目录下创建一个markdown文件夹,所生成的markdown文件均保存在该文件夹。


zhihu.Collection ---- 知乎收藏夹操作类
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*class* zhihu. **Collection** (*url, name = None, creator = None*)

 Collection 以 url 为唯一标识,创建一个 Collection 对象实例必须传入一个代表知乎收藏夹的 url (如:         http://www.zhihu.com/collection/27053469),需包含“http://”。如果传入的不是代表收藏夹的 url ,程序会报错。通过调用 Collection 类的一系列方法,获得该收藏夹的一些信息。
 
 **Parameters**:
  * **url** -- 该收藏夹的链接,字符串
  * **name** -- 该收藏夹的名字,字符串,可选
  * **creator** -- 该收藏夹的创建者,User 对象,可选
  
 **Returns**: 一个 Collection 实例对象

 **get_name** ()
 
  得到该收藏夹的名字。
  
  **Returns**: 代表名字的字符串
 
 **get_creator** ()
 
  得到该收藏夹的创建者。
  
  **Returns**:代表创建者 User 对象
 
 **get_all_answers** ()
 
  得到该收藏夹收藏的所有回答。
  
  **Returns**: 包含该收藏夹下所有回答的 generator 对象。其中每一个元素为代表一个回答的 Answer 对象
 
 **get_top_i_answers** (n)
 
  得到该收藏夹收藏的前 n 个回答。
  
  **Parameters**: **n** -- int 型整数
  
  **Returns**: 包含该收藏夹下前 n 个回答的 generator 对象。其中每一个元素为代表一个回答的 Answer 对象



联系我
----------

- 微博:http://weibo.com/u/2948739432
- github:https://github.com/egrcc
- email:zhaolujun1994@gmail.com

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/yanjlee/zhihu-python",
    "name": "zhihu-python",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "yanjlee",
    "author_email": "yanjlee@163.com",
    "download_url": "https://files.pythonhosted.org/packages/2e/a2/74994d13339932151475427bb6f435d3274e7d03e4e4b9605111c248e191/zhihu_python-1.2.5.tar.gz",
    "platform": null,
    "description": "zhihu-python\uff1a\u83b7\u53d6\u77e5\u4e4e\u4fe1\u606f\r\n===============================\r\n\r\n:Author: `egrcc <https://github.com/egrcc>`_ ( `\u5fae\u535a <http://weibo.com/u/2948739432>`_ | `\u7535\u90ae <zhaolujun1994@gmail.com>`_ )\r\n:Committer: `Eureka22 <https://github.com/Eureka22>`_ ,  `lufo816 <https://github.com/lufo816>`_ , `LuoZijun <https://github.com/LuoZijun>`_\r\n:Update: 09/09 2015\r\n\r\n\r\n.. contents::\r\n\r\n\r\n\u4ecb\u7ecd\r\n----\r\n\r\nzhihu-python \u91c7\u7528 python2.7 \u7f16\u5199\uff0c\u7528\u6765\u65b9\u4fbf\u5730\u83b7\u53d6\u77e5\u4e4e\u4e0a\u5404\u79cd\u5185\u5bb9\u7684\u4fe1\u606f\uff0c\u5e76\u4e14\u53ef\u4ee5\u65b9\u4fbf\u5730\u5c06\u7b54\u6848\u5907\u4efd\u5bfc\u51fa\u4e3a txt \u6216 markdown \u6587\u4ef6\u3002\u7531\u4e8e\u77e5\u4e4e\u5b98\u65b9\u76ee\u524d\u6ca1\u6709\u63d0\u4f9b api\uff0c\u6240\u4ee5\u6709\u4e86\u6b64\u9879\u76ee\u7684\u5b58\u5728\u3002\r\n\r\n\u4f7f\u7528 python3 \u7684\u7c7b\u4f3c\u9879\u76ee\u53ef\u4ee5\u53c2\u89c1\uff1a`zhihu-py3 <https://github.com/7sDream/zhihu-py3>`_ \u3002\r\n\r\n**\u6ce8: \u672c\u9879\u76ee\u4ee3\u7801\u5747\u5728 Ubuntu14.04 \u4e0a\u4f7f\u7528 python2.7.6 \u7f16\u5199\u548c\u6d4b\u8bd5\u901a\u8fc7\uff0c\u5176\u4ed6\u73af\u5883\u53ef\u80fd\u5b58\u5728\u4e00\u5b9a\u95ee\u9898\u3002**\r\n\r\n\u83b7\u53d6\u67d0\u4e2a\u95ee\u9898\u4e0b\u7684\u5168\u90e8\u56de\u7b54\u5e76\u5bfc\u51fa\uff0c\u5f88\u7b80\u5355\uff1a\r\n\r\n.. code-block:: python\r\n\r\n    from zhihu import Question\r\n    \r\n    url = \"http://www.zhihu.com/question/24269892\"\r\n    question = Question(url)\r\n    answers = question.get_all_answers()\r\n    for answer in answers:\r\n        answer.to_txt()\r\n        answer.to_md()\r\n \r\n\u4f1a\u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u65b0\u5efatext\uff0cmarkdown\u4e24\u4e2a\u6587\u4ef6\u5939\uff0c\u5e76\u5c06\u6240\u6709txt\u6587\u4ef6\u4fdd\u5b58\u5230text\u6587\u4ef6\u5939\uff0c\u6240\u6709markdown\u6587\u4ef6\u4fdd\u5b58\u5230markdown\u6587\u4ef6\u5939\u3002\r\n\r\n\u5907\u4efd\u67d0\u5927V\u7684\u5168\u90e8\u56de\u7b54\uff0c\u4e5f\u5f88\u7b80\u5355\uff1a\r\n\r\n.. code-block:: python\r\n    \r\n    from zhihu import User\r\n    \r\n    user_url = \"http://www.zhihu.com/people/jixin\"\r\n    user = User(user_url)\r\n    answers = user.get_answers()\r\n    for answer in answers:\r\n        answer.to_txt()\r\n        answer.to_md()\r\n        \r\n\u5bfc\u51fa\u7684markdown\uff0ctxt\u6587\u4ef6\u793a\u4f8b\u8bf7\u89c1\u8be5\u9879\u76ee\u7684markdown\uff0ctext\u6587\u4ef6\u5939\u3002\u5f53\u7136\uff0c\u60f3\u8981\u77e5\u9053\u67d0\u5927V\u5173\u6ce8\u4e86\u90a3\u4e9b\u4eba\uff0c\u63d0\u4e86\u4ec0\u4e48\u95ee\u9898\u4e5f\u4e0d\u5728\u8bdd\u4e0b\uff0c\u8be6\u60c5\u8bf7\u89c1\uff1a\u5feb\u901f\u5f00\u59cb\u3002        \r\n\r\n\r\n\r\n\u5feb\u901f\u5f00\u59cb\r\n---------\r\n\r\n\u51c6\u5907\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n**Tips** :\r\n\r\n1.  \u786e\u4fdd\u4f60\u7684\u7cfb\u7edf\u91cc\u9762\u5df2\u7ecf\u5b89\u88c5\u4e86 `Python2.7 <https://www.python.org/>`_ \uff0c\u4e0d\u540c\u4f5c\u4e1a\u7cfb\u7edf\u5982\u4f55\u5b89\u88c5\u4e0d\u518d\u8d58\u8ff0\u3002\r\n2.  \u68c0\u67e5\u4f60\u7cfb\u7edf\u4e2d `python` \u548c `pip` \u7684\u7248\u672c, \u5982\u679c\u4e0d\u5c5e\u4e8e `python2.7` , \u8bf7\u5728\u6267\u884c\u4ee3\u7801\u8303\u4f8b\u65f6\uff0c\u81ea\u884c\u5c06 `python` \u548c `pip` \u5206\u522b\u66ff\u6362\u6210 `python2.7` \u548c `pip2` \u3002\r\n3.  \u786e\u4fdd\u4f60\u7684\u7cfb\u7edf\u4e2d\u5b89\u88c5\u4e86 `git` \u7a0b\u5e8f \u4ee5\u53ca `python-pip` \u3002\r\n\r\n\r\n**\u514b\u9686\u672c\u9879\u76ee**\r\n\r\n\r\n.. code:: bash\r\n\r\n  git clone git@github.com:egrcc/zhihu-python.git\r\n  cd zhihu-python\r\n\r\n\r\n**\u89e3\u51b3\u4f9d\u8d56**\r\n\r\n* `Beautiful Soup 4 <http://www.crummy.com/software/BeautifulSoup/>`_\r\n* `requests <https://github.com/kennethreitz/requests>`_\r\n* `html2text <https://github.com/aaronsw/html2text>`_\r\n* `termcolor <https://pypi.python.org/pypi/termcolor>`_\r\n\r\n\r\n.. code:: bash\r\n\r\n  sudo pip install -r requirements.txt\r\n\r\n\r\nor\r\n\r\n.. code:: bash\r\n\r\n  sudo pip2 install -r requirements.txt\r\n\r\n\r\n\r\n**\u767b\u5f55\u77e5\u4e4e**\r\n\r\n\r\n\u767b\u5f55 `\u77e5\u4e4e` \u751f\u6210\u8eab\u4efd\u4fe1\u606f, \u4fdd\u5b58\u5728\u5f53\u524d\u76ee\u5f55\u7684 `cookies` \u6587\u4ef6\u4e2d\u3002\r\n\r\n.. code:: bash\r\n  \r\n  python auth.py\r\n\r\n\r\n**\u6267\u884c\u6d4b\u8bd5**\r\n\r\n\r\n.. code:: bash\r\n\r\n  python test.py\r\n\r\n\u4e0d\u51fa\u610f\u5916\uff0c\u4e00\u5207\u5e94\u8be5\u5b8c\u7f8e\u8fd0\u884c :))\r\n\r\n\r\n\r\nQuestion\uff1a\u83b7\u53d6\u95ee\u9898\u4fe1\u606f\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nQuestion \u4ee3\u8868\u4e00\u4e2a\u95ee\u9898\uff0c\u5904\u7406\u77e5\u4e4e\u95ee\u9898\u76f8\u5173\u64cd\u4f5c\u3002\u521b\u5efa\u4e00\u4e2a Question \u5bf9\u8c61\u9700\u4f20\u5165\u8be5\u95ee\u9898\u7684 url \uff0c\u5982\uff1a\r\n\r\n.. code-block:: python\r\n\r\n    from zhihu import Question\r\n    \r\n    url = \"http://www.zhihu.com/question/24269892\"\r\n    question = Question(url)\r\n\r\n\u5f97\u5230 Question \u5bf9\u8c61\u540e\uff0c\u53ef\u4ee5\u83b7\u53d6\u8be5\u95ee\u9898\u7684\u4e00\u4e9b\u4fe1\u606f\uff1a\r\n\r\n.. code-block:: python\r\n\r\n    # -*- coding: utf-8 -*-\r\n    from zhihu import Question\r\n    \r\n    url = \"http://www.zhihu.com/question/24269892\"\r\n    question = Question(url)\r\n\r\n    # \u83b7\u53d6\u8be5\u95ee\u9898\u7684\u6807\u9898\r\n    title = question.get_title()\r\n    # \u83b7\u53d6\u8be5\u95ee\u9898\u7684\u8be6\u7ec6\u63cf\u8ff0\r\n    detail = question.get_detail()\r\n    # \u83b7\u53d6\u56de\u7b54\u4e2a\u6570\r\n    answers_num = question.get_answers_num()\r\n    # \u83b7\u53d6\u5173\u6ce8\u8be5\u95ee\u9898\u7684\u4eba\u6570\r\n    followers_num = question.get_followers_num()\r\n    # \u83b7\u53d6\u8be5\u95ee\u9898\u6240\u5c5e\u8bdd\u9898\r\n    topics = question.get_topics()\r\n    # \u83b7\u53d6\u8be5\u95ee\u9898\u88ab\u6d4f\u89c8\u6b21\u6570\r\n    visit_times = question.get_visit_times()\r\n    # \u83b7\u53d6\u6392\u540d\u7b2c\u4e00\u7684\u56de\u7b54\r\n    top_answer = question.get_top_answer()\r\n    # \u83b7\u53d6\u6392\u540d\u524d\u5341\u7684\u5341\u4e2a\u56de\u7b54\r\n    top_answers = question.get_top_i_answers(10)\r\n    # \u83b7\u53d6\u6240\u6709\u56de\u7b54\r\n    answers = question.get_all_answers()\r\n\r\n    print title  # \u8f93\u51fa\uff1a\u73b0\u5b9e\u53ef\u4ee5\u6709\u591a\u7f8e\u597d\uff1f\r\n    print detail\r\n    # \u8f93\u51fa\uff1a\r\n    # \u672c\u95ee\u9898\u76f8\u5bf9\u4e8e\u201c\u73b0\u5b9e\u53ef\u4ee5\u591a\u6b8b\u9177\uff1f\u4f20\u9001\u95e8\uff1a\u73b0\u5b9e\u53ef\u4ee5\u6709\u591a\u6b8b\u9177\uff1f\r\n    # \u9898\u4e3b\uff1a       \u6628\u5929\u770b\u4e86\u201c\u73b0\u5b9e\u53ef\u4ee5\u6709\u591a\u6b8b\u9177\u201c\u3002\u611f\u89c9\u4e0d\u592a\u597d\uff0c\u6240\u4ee5\u6211\r\n    # \u5f00\u4e86\u8fd9\u4e2a\u95ee\u9898\u4ee5\u76f8\u5bf9\u5e94\uff0c\u5e0c\u671b\u80fd\u591f\u201c\u4e2d\u548c\u4e00\u4e0b\u201c\u3002\u548c\u90a3\u4e2a\u95ee\u9898\u9898\u4e3b\u4e0d\u60f3\r\n    # \u628a\u5b83\u53d8\u6210\u201c\u6bd4\u60e8\u5927\u4f1a\u201c\u4e00\u6837\uff0c\u6211\u4e5f\u4e0d\u60f3\u628a\u8fd9\u4e2a\u53d8\u6210\u201c\u9e21\u6c64\u6545\u4e8b\u4f1a\u201c\uff0c\u6216\u8005\r\n    # \u662f\u201c\u6652\u5e78\u798f\u201c\u6bd4\u8d5b\u3002\u6240\u4ee5\u5927\u5bb6\u4ece\u201c\u73b0\u5b9e\uff0c\u5b9e\u9645\u201d\u7684\u89d2\u5ea6\u51fa\u53d1\uff0c\u8bb2\u8ff0\u81ea\u5df1\u7684\r\n    # \u7f8e\u597d\u6545\u4e8b\uff0c\u8ba9\u5927\u5bb6\u770b\u770b\u793e\u4f1a\u7684\u51b7\u548c\u6696\uff0c\u80fd\u66f4\u52a0\u8fa8\u8bc1\u5730\u770b\u5f85\u4e16\u754c\uff0c\u662f\u6b64\r\n    # \u9898\u548c\u5f7c\u9898\u5171\u540c\u7684\u201c\u5fc3\u613f\u201c\u5427\u3002\r\n    print answers_num  # \u8f93\u51fa\uff1a2441\r\n    print followers_num  # \u8f93\u51fa\uff1a26910\r\n    for topic in topics:\r\n        print topic,  # \u8f93\u51fa\uff1a\u60c5\u611f\u514b\u5236 \u73b0\u5b9e \u793e\u4f1a \u4e2a\u4eba\u7ecf\u5386\r\n    print visit_times  # \u8f93\u51fa: \u8be5\u95ee\u9898\u5f53\u524d\u88ab\u6d4f\u89c8\u7684\u6b21\u6570\r\n    print top_answer  \r\n    # \u8f93\u51fa\uff1a<zhihu.Answer instance at 0x7f8b6582d0e0>\r\n    # Answer\u7c7b\u5bf9\u8c61\r\n    print top_answers  \r\n    # \u8f93\u51fa\uff1a<generator object get_top_i_answers at 0x7fed676eb320>\r\n    # \u4ee3\u8868\u524d\u5341\u7684Answer\u7684\u751f\u6210\u5668\r\n    print answers  \r\n    # \u8f93\u51fa\uff1a<generator object get_all_answer at 0x7f8b66ba30a0>\r\n    # \u4ee3\u8868\u6240\u6709Answer\u7684\u751f\u6210\u5668\r\n\r\n   \r\nAnswer\uff1a\u83b7\u53d6\u7b54\u6848\u4fe1\u606f\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nAnswer \u4ee3\u8868\u4e86\u4e00\u4e2a\u7b54\u6848\uff0c\u5904\u7406\u77e5\u4e4e\u7b54\u6848\u76f8\u5173\u64cd\u4f5c\u3002\u521b\u5efa\u4e00\u4e2a Answer \u5bf9\u8c61\u9700\u4f20\u5165\u8be5\u7b54\u6848\u7684 url \uff0c\u5982\uff1a\r\n\r\n.. code-block:: python\r\n\r\n    from zhihu import Answer\r\n    \r\n    answer_url = \"http://www.zhihu.com/question/24269892/answer/29960616\"\r\n    answer = Answer(answer_url)\r\n\r\n\u5f97\u5230 Answer \u5bf9\u8c61\u540e\uff0c\u53ef\u4ee5\u83b7\u53d6\u8be5\u7b54\u6848\u7684\u4e00\u4e9b\u4fe1\u606f\uff1a\r\n\r\n.. code-block:: python\r\n    \r\n    # -*- coding: utf-8 -*-\r\n    from zhihu import Answer\r\n    \r\n    answer_url = \"http://www.zhihu.com/question/24269892/answer/29960616\"\r\n    answer = Answer(answer_url)\r\n    # \u83b7\u53d6\u8be5\u7b54\u6848\u56de\u7b54\u7684\u95ee\u9898\r\n    question = answer.get_question()\r\n    # \u83b7\u53d6\u8be5\u7b54\u6848\u7684\u4f5c\u8005\r\n    author = answer.get_author()\r\n    # \u83b7\u53d6\u8be5\u7b54\u6848\u83b7\u5f97\u7684\u8d5e\u540c\u6570\r\n    upvote = answer.get_upvote()\r\n    # \u83b7\u53d6\u8be5\u7b54\u6848\u6240\u5c5e\u95ee\u9898\u88ab\u6d4f\u89c8\u6b21\u6570\r\n    visit_times = answer.get_visit_times()\r\n    # \u83b7\u53d6\u6240\u6709\u7ed9\u8be5\u7b54\u6848\u70b9\u8d5e\u7684\u7528\u6237\u4fe1\u606f\r\n    voters = answer.get_voters()\r\n    # \u628a\u7b54\u6848\u8f93\u51fa\u4e3atxt\u6587\u4ef6\r\n    answer.to_txt()\r\n    # \u628a\u7b54\u6848\u8f93\u51fa\u4e3amarkdown\u6587\u4ef6\r\n    answer.to_md()\r\n\r\n    print question\r\n    # <zhihu.Question instance at 0x7f0b25d13f80>\r\n    # \u4e00\u4e2aQuestion\u5bf9\u8c61\r\n    print question.get_title()  # \u8f93\u51fa\uff1a\u73b0\u5b9e\u53ef\u4ee5\u6709\u591a\u7f8e\u597d\uff1f\r\n    print author\r\n    # <zhihu.User instance at 0x7f0b25425b90>\r\n    # \u4e00\u4e2aUser\u5bf9\u8c61\r\n    print voters \r\n    # <generator object get_voters at 0x7f32fbe55730>\r\n    # \u4ee3\u8868\u6240\u6709\u8be5\u7b54\u6848\u70b9\u8d5e\u7684\u7528\u6237\u7684\u751f\u6210\u5668\r\n    print author.get_user_id()  # \u8f93\u51fa\uff1a\u7530\u6d69\r\n    print upvote  # \u8f93\u51fa\uff1a9320\r\n    print visit_times  # \u8f93\u51fa: \u6539\u7b54\u6848\u6240\u5c5e\u95ee\u9898\u88ab\u6d4f\u89c8\u6b21\u6570\r\n\r\n\r\nUser\uff1a\u83b7\u53d6\u7528\u6237\u4fe1\u606f\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nUser \u4ee3\u8868\u4e00\u4e2a\u7528\u6237\uff0c\u5904\u7406\u7528\u6237\u76f8\u5173\u64cd\u4f5c\u3002\u521b\u5efa\u4e00\u4e2a User \u5bf9\u8c61\u9700\u4f20\u5165\u8be5\u7528\u6237\u7684 url \uff0c\u5982\uff1a\r\n\r\n.. code-block:: python\r\n    \r\n    from zhihu import User\r\n    \r\n    user_url = \"http://www.zhihu.com/people/jixin\"\r\n    user = User(user_url)\r\n\r\n\u5f97\u5230 User \u5bf9\u8c61\u540e\uff0c\u53ef\u4ee5\u83b7\u53d6\u8be5\u7528\u6237\u7684\u4e00\u4e9b\u4fe1\u606f\uff1a\r\n\r\n.. code-block:: python\r\n    \r\n    # -*- coding: utf-8 -*-\r\n    from zhihu import User\r\n    \r\n    user_url = \"http://www.zhihu.com/people/jixin\"\r\n    user = User(user_url)\r\n    # \u83b7\u53d6\u7528\u6237ID\r\n    user_id = user.get_user_id()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u7684\u5173\u6ce8\u8005\u4eba\u6570\r\n    followers_num = user.get_followers_num()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u5173\u6ce8\u7684\u4eba\u6570\r\n    followees_num =user.get_followees_num()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u63d0\u95ee\u7684\u4e2a\u6570\r\n    asks_num = user.get_asks_num()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u56de\u7b54\u7684\u4e2a\u6570\r\n    answers_num = user.get_answers_num()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u6536\u85cf\u5939\u4e2a\u6570\r\n    collections_num = user.get_collections_num()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u83b7\u5f97\u7684\u8d5e\u540c\u6570\r\n    agree_num = user.get_agree_num()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u83b7\u5f97\u7684\u611f\u8c22\u6570\r\n    thanks_num = user.get_thanks_num()\r\n    \r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u5173\u6ce8\u7684\u4eba\r\n    followees = user.get_followees()\r\n    # \u83b7\u53d6\u5173\u6ce8\u8be5\u7528\u6237\u7684\u4eba\r\n    followers = user.get_followers()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u63d0\u7684\u95ee\u9898\r\n    asks = user.get_asks()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u56de\u7b54\u7684\u95ee\u9898\u7684\u7b54\u6848\r\n    answers = user.get_answers()\r\n    # \u83b7\u53d6\u8be5\u7528\u6237\u7684\u6536\u85cf\u5939\r\n    collections = user.get_collections()\r\n    \r\n    print user_id # \u9ec4\u7ee7\u65b0\r\n    print followers_num # 614840\r\n    print followees_num # 8408\r\n    print asks_num # 1323\r\n    print answers_num # 786\r\n    print collections_num # 44\r\n    print agree_num # 46387\r\n    print thanks_num # 11477\r\n    \r\n    print followees\r\n    # <generator object get_followee at 0x7ffcac3af050>\r\n    # \u4ee3\u8868\u6240\u6709\u8be5\u7528\u6237\u5173\u6ce8\u7684\u4eba\u7684\u751f\u6210\u5668\u5bf9\u8c61\r\n    print followers\r\n    # <generator object get_follower at 0x7ffcac3af0f0>\r\n    # \u4ee3\u8868\u6240\u6709\u5173\u6ce8\u8be5\u7528\u6237\u7684\u4eba\u7684\u751f\u6210\u5668\u5bf9\u8c61\r\n    print asks\r\n    # <generator object get_ask at 0x7ffcab9db780>\r\n    # \u4ee3\u8868\u8be5\u7528\u6237\u63d0\u7684\u6240\u6709\u95ee\u9898\u7684\u751f\u6210\u5668\u5bf9\u8c61\r\n    print answers\r\n    # <generator object get_answer at 0x7ffcab9db7d0>\r\n    # \u4ee3\u8868\u8be5\u7528\u6237\u56de\u7b54\u7684\u6240\u6709\u95ee\u9898\u7684\u7b54\u6848\u7684\u751f\u6210\u5668\u5bf9\u8c61\r\n    print collections\r\n    # <generator object get_collection at 0x7ffcab9db820>\r\n    # \u4ee3\u8868\u8be5\u7528\u6237\u6536\u85cf\u5939\u7684\u751f\u6210\u5668\u5bf9\u8c61\r\n\r\n\r\nCollection\uff1a\u83b7\u53d6\u6536\u85cf\u5939\u4fe1\u606f\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\nCollection \u4ee3\u8868\u4e00\u4e2a\u6536\u85cf\u5939\uff0c\u5904\u7406\u6536\u85cf\u5939\u76f8\u5173\u64cd\u4f5c\u3002\u521b\u5efa\u4e00\u4e2a Collection \u5bf9\u8c61\u9700\u4f20\u5165\u8be5\u6536\u85cf\u5939\u7684 url \uff0c\u5982\uff1a\r\n\r\n.. code-block:: python\r\n\r\n    from zhihu import Collection\r\n    \r\n    collection_url = \"http://www.zhihu.com/collection/36750683\"\r\n    collection = Collection(collection_url)\r\n\r\n\u5f97\u5230 Collection \u5bf9\u8c61\u540e\uff0c\u53ef\u4ee5\u83b7\u53d6\u8be5\u6536\u85cf\u5939\u7684\u4e00\u4e9b\u4fe1\u606f\uff1a\r\n\r\n.. code-block:: python\r\n    \r\n    # -*- coding: utf-8 -*-\r\n    from zhihu import Collection\r\n    \r\n    collection_url = \"http://www.zhihu.com/collection/36750683\"\r\n    collection = Collection(collection_url)\r\n    \r\n    # \u83b7\u53d6\u8be5\u6536\u85cf\u5939\u7684\u521b\u5efa\u8005\r\n    creator = collection.get_creator()\r\n    # \u83b7\u53d6\u8be5\u6536\u85cf\u5939\u7684\u540d\u5b57\r\n    name = collection.get_name()\r\n    # \u83b7\u53d6\u8be5\u6536\u85cf\u5939\u4e0b\u7684\u524d\u5341\u4e2a\u7b54\u6848\r\n    top_answers = collection.get_top_i_answers(10)\r\n    # \u83b7\u53d6\u8be5\u6536\u85cf\u5939\u4e0b\u7684\u6240\u6709\u7b54\u6848\r\n    answers = collection.get_all_answers()\r\n    \r\n    print creator \r\n    # <zhihu.User instance at 0x7fe1296f29e0>\r\n    # \u4e00\u4e2aUser\u5bf9\u8c61\r\n    print creator.get_user_id() # \u7a37\u9ecd\r\n    print name # \u7ed9\u4f60\u4e00\u4e2a\u4e0d\u540c\u7684\u89c6\u89d2\r\n    print top_answers\r\n    # <generator object get_top_i_answers at 0x7f378465dc80>\r\n    # \u4ee3\u8868\u524d\u5341\u4e2a\u7b54\u6848\u7684\u751f\u6210\u5668\u5bf9\u8c61\r\n    print answers \r\n    # <generator object get_all_answer at 0x7fe12a29b280>\r\n    # \u4ee3\u8868\u6240\u6709\u7b54\u6848\u7684\u751f\u6210\u5668\u5bf9\u8c61\r\n    \r\n\r\n\u7efc\u5408\u5b9e\u4f8b\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n\u5c06 Question \uff0c Answer \uff0c User \uff0c Collection \u7ed3\u5408\u8d77\u6765\u4f7f\u7528\u3002\u5b9e\u4f8b\u5982\u4e0b\uff1a\r\n\r\n.. code-block:: python\r\n\r\n    # -*- coding: utf-8 -*-\r\n    from zhihu import Question\r\n    from zhihu import Answer\r\n    from zhihu import User\r\n    from zhihu import Collection\r\n    \r\n    url = \"http://www.zhihu.com/question/24269892\"\r\n    question = Question(url)\r\n    # \u5f97\u5230\u6392\u540d\u7b2c\u4e00\u7684\u7b54\u6848\r\n    answer = question.get_top_answer()\r\n    # \u5f97\u5230\u6392\u540d\u7b2c\u4e00\u7684\u7b54\u6848\u7684\u4f5c\u8005\r\n    user = answer.get_author()\r\n    # \u5f97\u5230\u8be5\u4f5c\u8005\u56de\u7b54\u8fc7\u7684\u6240\u6709\u95ee\u9898\u7684\u7b54\u6848\r\n    user_answers = user.get_answers()\r\n    # \u8f93\u51fa\u8be5\u4f5c\u8005\u56de\u7b54\u8fc7\u7684\u6240\u6709\u95ee\u9898\u7684\u6807\u9898\r\n    for answer in user_answers:\r\n        print answer.get_question().get_title()\r\n    # \u5f97\u5230\u8be5\u7528\u6237\u7684\u6240\u6709\u6536\u85cf\u5939\r\n    user_collections = user.get_collections()\r\n    for collection in user_collections:\r\n\t# \u8f93\u51fa\u6bcf\u4e00\u4e2a\u6536\u85cf\u5939\u7684\u540d\u5b57\r\n        print collection.get_name()\r\n\t# \u5f97\u5230\u8be5\u6536\u85cf\u5939\u4e0b\u7684\u524d\u5341\u4e2a\u56de\u7b54\r\n        top_answers = collection.get_top_i_answers(10)\r\n\t# \u628a\u7b54\u6848\u5185\u5bb9\u8f6c\u6210txt\uff0cmarkdown\r\n        for answer in top_answers:\r\n            answer.to_txt()\r\n            answer.to_md()\r\n\r\n\u4ee5\u4e0a\u793a\u4f8b\u5747\u53ef\u4ee5\u5728test.py\u6587\u4ef6\u4e2d\u627e\u5230\u3002\r\n\r\n\u867d\u7136\u662f\u5355\u7ebf\u7a0b\uff0c\u4f46\u901f\u5ea6\u4e0d\u7b97\u592a\u6162\u3002\u6293\u53d6 `\u54ea\u4e9b\u4e1c\u897f\u4e70\u4e86\u4e4b\u540e\uff0c\u4f1a\u8ba9\u4eba\u56e0\u751f\u6d3b\u8d28\u91cf\u548c\u5e78\u798f\u611f\u63d0\u5347\u800c\u611f\u89c9\u76f8\u89c1\u6068\u665a\uff1f <http://www.zhihu.com/question/20840874>`_ \u4e0b\u524d200\u4e2a\u56de\u7b54\uff0c91\u79d2\uff1b\u6293\u53d6 `\u6709\u54ea\u4e9b 100 \u5143\u4ee5\u4e0b\uff0c\u5f88\u5c11\u89c1\u4f46\u9ad8\u5927\u4e0a\u7684\u7269\u4ef6\uff1f <http://www.zhihu.com/question/23054572>`_ \u4e0b\u524d50\u4e2a\u56de\u7b54\uff0c48\u79d2\uff1b\u6293\u53d6 `\u73b0\u5b9e\u53ef\u4ee5\u6709\u591a\u7f8e\u597d\uff1f <http://www.zhihu.com/question/24269892>`_ \u4e0b\u524d200\u4e2a\u56de\u7b54\uff0c69\u79d2\u3002\u751f\u6210\u7684\u6587\u4ef6\u8bf7\u89c1markdown\uff0ctext\u6587\u4ef6\u5939\u3002\u6240\u6709\u533f\u540d\u7528\u6237\u7684\u56de\u7b54\u653e\u5728\u4e00\u4e2a\u6587\u4ef6\u91cc\u9762\u3002\r\n\r\n\r\nAPI\r\n-------\r\n\r\nzhihu.Question ---- \u77e5\u4e4e\u95ee\u9898\u64cd\u4f5c\u7c7b\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n*class* zhihu. **Question** (*url, title = None*)\r\n\r\n Question \u4ee5 url \u4e3a\u552f\u4e00\u6807\u8bc6\uff0c\u521b\u5efa\u4e00\u4e2a Question \u5bf9\u8c61\u5b9e\u4f8b\u5fc5\u987b\u4f20\u5165\u4e00\u4e2a\u4ee3\u8868\u77e5\u4e4e\u95ee\u9898\u7684 url \uff08\u5982\uff1a         http://www.zhihu.com/question/26611428\uff09\uff0c\u9700\u5305\u542b\u201chttp://\u201d\u3002\u5982\u679c\u4f20\u5165\u7684\u4e0d\u662f\u4ee3\u8868\u95ee\u9898\u7684 url \uff0c\u7a0b\u5e8f\u4f1a\u62a5\u9519\u3002\u901a\u8fc7\u8c03\u7528 Question \u7c7b\u7684\u4e00\u7cfb\u5217\u65b9\u6cd5\uff0c\u83b7\u5f97\u8be5\u95ee\u9898\u7684\u4e00\u4e9b\u4fe1\u606f\u3002\r\n \r\n **Parameters**\uff1a\r\n  * **url** -- \u8be5\u95ee\u9898\u7684\u94fe\u63a5\uff0c\u5b57\u7b26\u4e32\r\n  * **title** -- \u8be5\u95ee\u9898\u7684\u6807\u9898\uff0c\u5b57\u7b26\u4e32\uff0c\u53ef\u9009\r\n \r\n **Returns**\uff1a \u4e00\u4e2a Question \u5b9e\u4f8b\u5bf9\u8c61\r\n \r\n **get_title** ()\r\n \r\n  \u5f97\u5230\u8be5\u95ee\u9898\u7684\u6807\u9898\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u6807\u9898\u7684\u5b57\u7b26\u4e32\r\n \r\n **get_detail** ()\r\n \r\n  \u5f97\u5230\u8be5\u95ee\u9898\u7684\u8be6\u7ec6\u63cf\u8ff0\u3002\u539f\u95ee\u9898\u7684\u63cf\u8ff0\u53ef\u80fd\u5e26\u6709\u56fe\u7247\u6216\u89c6\u9891\uff0c\u8fd9\u91cc\u5f97\u5230\u7684\u662f\u7eaf\u6587\u5b57\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u8be6\u7ec6\u63cf\u8ff0\u7684\u5b57\u7b26\u4e32\r\n \r\n **get_answers_num** ()\r\n \r\n  \u5f97\u5230\u8be5\u95ee\u9898\u7684\u56de\u7b54\u4e2a\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u56de\u7b54\u4e2a\u6570\u7684 int \u578b\u6574\u6570\r\n \r\n **get_followers_num** ()\r\n \r\n  \u5f97\u5230\u5173\u6ce8\u8be5\u95ee\u9898\u7684\u4eba\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u4eba\u6570\u7684 int \u578b\u6574\u6570\r\n \r\n **get_topics** ()\r\n \r\n  \u5f97\u5230\u8be5\u95ee\u9898\u6240\u5c5e\u7684\u8bdd\u9898\u3002\r\n  \r\n  **Returns**\uff1a \u4e00\u4e2a list \uff0c\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u8bdd\u9898\u7684\u5b57\u7b26\u4e32\r\n  \r\n  \u6ce8\uff1a\u4ee5\u540e\u53ef\u80fd\u4f1a\u6dfb\u52a0\u4e00\u4e2a Topic \u7c7b\uff0c\u5230\u65f6\u5019\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u8bdd\u9898\u7684 Topic \u7c7b\u5bf9\u8c61\u3002\r\n \r\n **get_all_answers** ()\r\n \r\n  \u5f97\u5230\u8be5\u95ee\u9898\u7684\u6240\u6709\u56de\u7b54\u3002\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u6240\u6709\u7b54\u6848\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u7b54\u6848\u7684 Answer \u5bf9\u8c61 \r\n \r\n **get_top_i_answers** (n)\r\n \r\n  \u5f97\u5230\u8be5\u95ee\u9898\u7684\u524d n \u4e2a\u56de\u7b54\u3002\r\n  \r\n  **Parameters**\uff1a **n** -- int \u578b\u6574\u6570\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u524d n \u4e2a\u7b54\u6848\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u7b54\u6848\u7684 Answer \u5bf9\u8c61\r\n \r\n **get_top_answer** ()\r\n \r\n  \u5f97\u5230\u76ee\u524d\u6392\u540d\u7b2c\u4e00\u7684\u56de\u7b54\u3002\r\n \r\n  **Returns**\uff1a \u4ee3\u8868\u8be5\u7b54\u6848\u7684 Answer \u5bf9\u8c61\r\n  \r\n **get_visit_times** ()\r\n \r\n  \u5f97\u5230\u8be5\u95ee\u9898\u88ab\u6d4f\u89c8\u6b21\u6570\u3002\u8be5\u65b9\u6cd5\u7531 `@lufo816 <https://github.com/lufo816>`_ \u6dfb\u52a0\u3002\r\n \r\n  **Returns**\uff1a \u4ee3\u8868\u6d4f\u89c8\u6b21\u6570\u7684 int \u578b\u6574\u6570\r\n \r\n\r\nzhihu.User ---- \u77e5\u4e4e\u7528\u6237\u64cd\u4f5c\u7c7b\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n*class* zhihu. **User** (*user_url, user_id = None*)\r\n\r\n User \u4ee5 url \u4e3a\u552f\u4e00\u6807\u8bc6\uff0c\u521b\u5efa\u4e00\u4e2a User \u5bf9\u8c61\u5b9e\u4f8b\u5fc5\u987b\u4f20\u5165\u4e00\u4e2a\u4ee3\u8868\u77e5\u4e4e\u7528\u6237\u7684 url \uff08\u5982\uff1a         http://www.zhihu.com/people/egrcc\uff09\uff0c\u9700\u5305\u542b\u201chttp://\u201d\u3002\u5982\u679c\u4f20\u5165\u7684\u4e0d\u662f\u4ee3\u8868\u7528\u6237\u7684 url \uff0c\u7a0b\u5e8f\u4f1a\u62a5\u9519\u3002\u901a\u8fc7\u8c03\u7528 User \u7c7b\u7684\u4e00\u7cfb\u5217\u65b9\u6cd5\uff0c\u83b7\u5f97\u8be5\u7528\u6237\u7684\u4e00\u4e9b\u4fe1\u606f\u3002\r\n \r\n **Parameters**\uff1a\r\n  * **user_url** -- \u8be5\u7528\u6237\u7684\u94fe\u63a5\uff0c\u5b57\u7b26\u4e32\r\n  * **user_id** -- \u8be5\u7528\u6237\u7684 ID \uff0c\u5b57\u7b26\u4e32\uff0c\u53ef\u9009\r\n  \r\n **Returns**\uff1a \u4e00\u4e2a User \u5b9e\u4f8b\u5bf9\u8c61\r\n\r\n **get_user_id** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u7684ID\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868 ID \u7684\u5b57\u7b26\u4e32\r\n \r\n **get_followees_num** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u5173\u6ce8\u7684\u4eba\u7684\u4e2a\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u4eba\u6570\u7684 int \u578b\u6574\u6570\r\n \r\n **get_followers_num** ()\r\n \r\n  \u5f97\u5230\u5173\u6ce8\u8be5\u7528\u6237\u7684\u4eba\u7684\u4e2a\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u4eba\u6570\u7684 int \u578b\u6574\u6570\r\n \r\n **get_agree_num** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u83b7\u5f97\u7684\u8d5e\u540c\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u8d5e\u540c\u6570\u7684 int \u578b\u6574\u6570\r\n \r\n **get_thanks_num** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u83b7\u5f97\u7684\u611f\u8c22\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u611f\u8c22\u6570\u7684 int \u578b\u6574\u6570\r\n \r\n **get_asks_num** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u63d0\u95ee\u9898\u7684\u4e2a\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u95ee\u9898\u6570\u7684 int \u578b\u6574\u6570 \r\n \r\n **get_answers_num** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u56de\u7b54\u95ee\u9898\u7684\u4e2a\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u95ee\u9898\u6570\u7684 int \u578b\u6574\u6570 \r\n \r\n **get_collections_num** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u6536\u85cf\u5939\u7684\u4e2a\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u6536\u85cf\u5939\u6570\u7684 int \u578b\u6574\u6570 \r\n \r\n **get_followees** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u5173\u6ce8\u7684\u4eba\u3002\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u6240\u6709\u8be5\u7528\u6237\u5173\u6ce8\u7684\u4eba\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u7528\u6237\u7684 User \u5bf9\u8c61\r\n \r\n **get_followers** ()\r\n \r\n  \u5f97\u5230\u5173\u6ce8\u8be5\u7528\u6237\u7684\u4eba\u3002\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u6240\u6709\u5173\u6ce8\u8be5\u7528\u6237\u7684\u4eba\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u7528\u6237\u7684 User \u5bf9\u8c61\r\n \r\n **get_asks** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u63d0\u7684\u6240\u6709\u95ee\u9898\u3002\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u6240\u6709\u95ee\u9898\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u95ee\u9898\u7684 Question \u5bf9\u8c61\r\n \r\n **get_answers** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u56de\u7b54\u7684\u6240\u6709\u95ee\u9898\u7684\u7b54\u6848\u3002\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u6240\u6709\u56de\u7b54\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u56de\u7b54\u7684 Answer \u5bf9\u8c61\r\n \r\n **get_collections** ()\r\n \r\n  \u5f97\u5230\u8be5\u7528\u6237\u7684\u6240\u6709\u6536\u85cf\u5939\u3002\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u6240\u6709\u6536\u85cf\u5939\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u6536\u85cf\u5939\u7684 Collection \u5bf9\u8c61\r\n \r\n\r\nzhihu.Answer ---- \u77e5\u4e4e\u56de\u7b54\u64cd\u4f5c\u7c7b\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n*class* zhihu. **Answer** (*answer_url, question = None, author = None, upvote = None, content = None*)\r\n\r\n Answer \u4ee5 url \u4e3a\u552f\u4e00\u6807\u8bc6\uff0c\u521b\u5efa\u4e00\u4e2a Answer \u5bf9\u8c61\u5b9e\u4f8b\u5fc5\u987b\u4f20\u5165\u4e00\u4e2a\u4ee3\u8868\u77e5\u4e4e\u56de\u7b54\u7684 url \uff08\u5982\uff1a         http://www.zhihu.com/question/19878575/answer/14776495\uff09\uff0c\u9700\u5305\u542b\u201chttp://\u201d\u3002\u5982\u679c\u4f20\u5165\u7684\u4e0d\u662f\u4ee3\u8868\u56de\u7b54\u7684 url \uff0c\u7a0b\u5e8f\u4f1a\u62a5\u9519\u3002\u901a\u8fc7\u8c03\u7528 Answer \u7c7b\u7684\u4e00\u7cfb\u5217\u65b9\u6cd5\uff0c\u83b7\u5f97\u8be5\u56de\u7b54\u7684\u4e00\u4e9b\u4fe1\u606f\u3002\u4e00\u822c\u4e0d\u81ea\u5df1\u521b\u5efaAnswer\u5bf9\u8c61\u3002\r\n \r\n **Parameters**\uff1a\r\n  * **answer_url** -- \u8be5\u7b54\u6848\u7684\u94fe\u63a5\uff0c\u5b57\u7b26\u4e32\r\n  * **question** -- \u8be5\u7b54\u6848\u56de\u7b54\u7684\u95ee\u9898\uff0c Question \u5bf9\u8c61\uff0c\u53ef\u9009\r\n  * **author** -- \u8be5\u7b54\u6848\u7684\u4f5c\u8005\uff0c User \u5bf9\u8c61\uff0c\u53ef\u9009\r\n  * **upvote** -- \u8be5\u7b54\u6848\u83b7\u5f97\u7684\u8d5e\u540c\u6570\uff0c int \u578b\u6574\u6570\uff0c\u53ef\u9009\r\n  * **content** -- \u8be5\u7b54\u6848\u7684\u5185\u5bb9\uff0c BeautifulSoup \u5bf9\u8c61\uff0c\u53ef\u9009\r\n  \r\n **Returns**\uff1a \u4e00\u4e2a Answer \u5b9e\u4f8b\u5bf9\u8c61\r\n\r\n **get_question** ()\r\n \r\n  \u5f97\u5230\u8be5\u7b54\u6848\u56de\u7b54\u7684\u95ee\u9898\u3002\r\n  \r\n  **Returns**\uff1a \u4e00\u4e2a Question \u5bf9\u8c61\r\n \r\n **get_author** ()\r\n \r\n  \u5f97\u5230\u8be5\u7b54\u6848\u7684\u4f5c\u8005 \u3002\r\n  \r\n  **Returns**\uff1a \u4e00\u4e2a User \u5bf9\u8c61\r\n \r\n **get_upvote** ()\r\n \r\n  \u5f97\u5230\u8be5\u7b54\u6848\u83b7\u5f97\u7684\u8d5e\u540c\u6570\u3002\r\n  \r\n  **Returns**\uff1a \u4e00\u4e2a int \u578b\u6574\u6570\r\n \r\n **get_content** ()\r\n \r\n  \u5f97\u5230\u8be5\u7b54\u6848\u7684\u5185\u5bb9\u3002\r\n  \r\n  **Returns**\uff1a \u4e00\u4e2a BeautifulSoup \u5bf9\u8c61\r\n  \r\n **get_visit_times** ()\r\n \r\n  \u5f97\u5230\u8be5\u7b54\u6848\u6240\u5c5e\u95ee\u9898\u88ab\u6d4f\u89c8\u6b21\u6570\u3002\u8be5\u65b9\u6cd5\u7531 `@lufo816 <https://github.com/lufo816>`_ \u6dfb\u52a0\u3002\r\n \r\n  **Returns**\uff1a \u4ee3\u8868\u6d4f\u89c8\u6b21\u6570\u7684 int \u578b\u6574\u6570\r\n  \r\n **get_voters** ()\r\n \r\n  \u5f97\u5230\u7ed9\u8be5\u7b54\u6848\u70b9\u8d5e\u7684\u7528\u6237\u3002\u8be5\u65b9\u6cd5\u7531 `@lufo816 <https://github.com/lufo816>`_ \u6dfb\u52a0\u3002\r\n \r\n  **Returns**\uff1a \u5305\u542b\u6240\u6709\u7ed9\u8be5\u7b54\u6848\u70b9\u8d5e\u7684\u7528\u6237\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u7528\u6237\u7684 User \u5bf9\u8c61\r\n \r\n **to_txt** ()\r\n  \r\n  \u5c06\u8be5\u7b54\u6848\u8f6c\u6210txt\u6587\u4ef6\uff0c\u5e76\u4f1a\u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2atext\u6587\u4ef6\u5939\uff0c\u6240\u751f\u6210\u7684txt\u6587\u4ef6\u5747\u4fdd\u5b58\u5728\u8be5\u6587\u4ef6\u5939\u3002\r\n \r\n **to_md** ()\r\n \r\n  \u5c06\u8be5\u7b54\u6848\u8f6c\u6210markdown\u6587\u4ef6\uff0c\u5e76\u4f1a\u5728\u5f53\u524d\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2amarkdown\u6587\u4ef6\u5939\uff0c\u6240\u751f\u6210\u7684markdown\u6587\u4ef6\u5747\u4fdd\u5b58\u5728\u8be5\u6587\u4ef6\u5939\u3002\r\n\r\n\r\nzhihu.Collection ---- \u77e5\u4e4e\u6536\u85cf\u5939\u64cd\u4f5c\u7c7b\r\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n\r\n*class* zhihu. **Collection** (*url, name = None, creator = None*)\r\n\r\n Collection \u4ee5 url \u4e3a\u552f\u4e00\u6807\u8bc6\uff0c\u521b\u5efa\u4e00\u4e2a Collection \u5bf9\u8c61\u5b9e\u4f8b\u5fc5\u987b\u4f20\u5165\u4e00\u4e2a\u4ee3\u8868\u77e5\u4e4e\u6536\u85cf\u5939\u7684 url \uff08\u5982\uff1a         http://www.zhihu.com/collection/27053469\uff09\uff0c\u9700\u5305\u542b\u201chttp://\u201d\u3002\u5982\u679c\u4f20\u5165\u7684\u4e0d\u662f\u4ee3\u8868\u6536\u85cf\u5939\u7684 url \uff0c\u7a0b\u5e8f\u4f1a\u62a5\u9519\u3002\u901a\u8fc7\u8c03\u7528 Collection \u7c7b\u7684\u4e00\u7cfb\u5217\u65b9\u6cd5\uff0c\u83b7\u5f97\u8be5\u6536\u85cf\u5939\u7684\u4e00\u4e9b\u4fe1\u606f\u3002\r\n \r\n **Parameters**\uff1a\r\n  * **url** -- \u8be5\u6536\u85cf\u5939\u7684\u94fe\u63a5\uff0c\u5b57\u7b26\u4e32\r\n  * **name** -- \u8be5\u6536\u85cf\u5939\u7684\u540d\u5b57\uff0c\u5b57\u7b26\u4e32\uff0c\u53ef\u9009\r\n  * **creator** -- \u8be5\u6536\u85cf\u5939\u7684\u521b\u5efa\u8005\uff0cUser \u5bf9\u8c61\uff0c\u53ef\u9009\r\n  \r\n **Returns**\uff1a \u4e00\u4e2a Collection \u5b9e\u4f8b\u5bf9\u8c61\r\n\r\n **get_name** ()\r\n \r\n  \u5f97\u5230\u8be5\u6536\u85cf\u5939\u7684\u540d\u5b57\u3002\r\n  \r\n  **Returns**\uff1a \u4ee3\u8868\u540d\u5b57\u7684\u5b57\u7b26\u4e32\r\n \r\n **get_creator** ()\r\n \r\n  \u5f97\u5230\u8be5\u6536\u85cf\u5939\u7684\u521b\u5efa\u8005\u3002\r\n  \r\n  **Returns**\uff1a\u4ee3\u8868\u521b\u5efa\u8005 User \u5bf9\u8c61\r\n \r\n **get_all_answers** ()\r\n \r\n  \u5f97\u5230\u8be5\u6536\u85cf\u5939\u6536\u85cf\u7684\u6240\u6709\u56de\u7b54\u3002\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u8be5\u6536\u85cf\u5939\u4e0b\u6240\u6709\u56de\u7b54\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u56de\u7b54\u7684 Answer \u5bf9\u8c61\r\n \r\n **get_top_i_answers** (n)\r\n \r\n  \u5f97\u5230\u8be5\u6536\u85cf\u5939\u6536\u85cf\u7684\u524d n \u4e2a\u56de\u7b54\u3002\r\n  \r\n  **Parameters**\uff1a **n** -- int \u578b\u6574\u6570\r\n  \r\n  **Returns**\uff1a \u5305\u542b\u8be5\u6536\u85cf\u5939\u4e0b\u524d n \u4e2a\u56de\u7b54\u7684 generator \u5bf9\u8c61\u3002\u5176\u4e2d\u6bcf\u4e00\u4e2a\u5143\u7d20\u4e3a\u4ee3\u8868\u4e00\u4e2a\u56de\u7b54\u7684 Answer \u5bf9\u8c61\r\n\r\n\r\n\r\n\u8054\u7cfb\u6211\r\n----------\r\n\r\n- \u5fae\u535a\uff1ahttp://weibo.com/u/2948739432\r\n- github\uff1ahttps://github.com/egrcc\r\n- email\uff1azhaolujun1994@gmail.com\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "zhihu-python \u91c7\u7528 python2.7 \u7f16\u5199\uff0c\u7528\u6765\u65b9\u4fbf\u5730\u83b7\u53d6\u77e5\u4e4e\u4e0a\u5404\u79cd\u5185\u5bb9\u7684\u4fe1\u606f\uff0c\u5e76\u4e14\u53ef\u4ee5\u65b9\u4fbf\u5730\u5c06\u7b54\u6848\u5907\u4efd\u5bfc\u51fa\u4e3a txt \u6216 markdown \u6587\u4ef6\u3002\u7531\u4e8e\u77e5\u4e4e\u5b98\u65b9\u76ee\u524d\u6ca1\u6709\u63d0\u4f9b api\uff0c\u6240\u4ee5\u6709\u4e86\u6b64\u9879\u76ee\u7684\u5b58\u5728\u3002.",
    "version": "1.2.5",
    "project_urls": {
        "Homepage": "https://github.com/yanjlee/zhihu-python"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27f69e7245204c990207e7101dd70aab4b6b62ced08979dac262ca9adfc9acd5",
                "md5": "2771d089249c0a8cf9dd71441b764b93",
                "sha256": "5b55ee9aec35eba4d0dab01519ced542bcf24c9c582808294e8f335b2dafe6ab"
            },
            "downloads": -1,
            "filename": "zhihu_python-1.2.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2771d089249c0a8cf9dd71441b764b93",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 7805,
            "upload_time": "2024-06-01T08:46:19",
            "upload_time_iso_8601": "2024-06-01T08:46:19.230497Z",
            "url": "https://files.pythonhosted.org/packages/27/f6/9e7245204c990207e7101dd70aab4b6b62ced08979dac262ca9adfc9acd5/zhihu_python-1.2.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ea274994d13339932151475427bb6f435d3274e7d03e4e4b9605111c248e191",
                "md5": "f4b89e8744972c602cb1d577d8311a7d",
                "sha256": "dad314e6bd1765b74c9e28add0e0fdff42b5e20edea3c13f317ebed5ba46ec9e"
            },
            "downloads": -1,
            "filename": "zhihu_python-1.2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "f4b89e8744972c602cb1d577d8311a7d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 12201,
            "upload_time": "2024-06-01T08:46:21",
            "upload_time_iso_8601": "2024-06-01T08:46:21.493460Z",
            "url": "https://files.pythonhosted.org/packages/2e/a2/74994d13339932151475427bb6f435d3274e7d03e4e4b9605111c248e191/zhihu_python-1.2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-01 08:46:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yanjlee",
    "github_project": "zhihu-python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "beautifulsoup4",
            "specs": []
        },
        {
            "name": "html2text",
            "specs": []
        },
        {
            "name": "termcolor",
            "specs": []
        }
    ],
    "lcname": "zhihu-python"
}
        
Elapsed time: 0.35081s