|
1 | 1 | zhihu-python:获取知乎信息 |
2 | 2 | =============================== |
3 | 3 |
|
| 4 | +:Author: `egrcc <https://github.com/egrcc>`_ ( `微博 <http://weibo.com/u/2948739432>`_ | `电邮 <zhaolujun1994@gmail.com>`_ ) |
| 5 | +:Committer: `Eureka22 <https://github.com/Eureka22>`_ , `lufo816 <https://github.com/lufo816>`_ , `LuoZijun <https://github.com/LuoZijun>`_ |
| 6 | +:Update: 09/09 2015 |
| 7 | + |
| 8 | + |
| 9 | +.. contents:: |
| 10 | + |
| 11 | + |
4 | 12 | 介绍 |
5 | 13 | ---- |
6 | 14 |
|
@@ -40,42 +48,74 @@ zhihu-python 采用 python2.7 编写,用来方便地获取知乎上各种内 |
40 | 48 | |
41 | 49 | 导出的markdown,txt文件示例请见该项目的markdown,text文件夹。当然,想要知道某大V关注了那些人,提了什么问题也不在话下,详情请见:快速开始。 |
42 | 50 |
|
43 | | -依赖 |
44 | | ------ |
45 | 51 |
|
46 | | -- 使用 `Beautiful Soup 4 <http://www.crummy.com/software/BeautifulSoup/>`_ 解析 html 文档 |
47 | | -- 使用 `requests <https://github.com/kennethreitz/requests>`_ 处理 http 请求 |
48 | | -- 使用 `html2text <https://github.com/aaronsw/html2text>`_ 进行格式转换 |
49 | 52 |
|
50 | | -没有的话可以使用 pip 安装: |
| 53 | +快速开始 |
| 54 | +--------- |
51 | 55 |
|
52 | | -.. code-block:: bash |
| 56 | +**准备** |
53 | 57 |
|
54 | | - $ pip install requests |
55 | | - $ pip install beautifulsoup4 |
56 | | - $ pip install html2text |
57 | 58 |
|
58 | | -或者使用 |
| 59 | +**Tips** : |
59 | 60 |
|
60 | | -.. code-block:: bash |
| 61 | +1. 确保你的系统里面已经安装了 `Python2.7 <https://www.python.org/>`_ ,不同作业系统如何安装不再赘述。 |
| 62 | +2. 检查你系统中 `python` 和 `pip` 的版本, 如果不属于 `python2.7` , 请在执行代码范例时,自行将 `python` 和 `pip` 分别替换成 `python2.7` 和 `pip2` 。 |
| 63 | +3. 确保你的系统中安装了 `git` 程序 以及 `python-pip` 。 |
61 | 64 |
|
62 | | - $ pip install -r requirements.txt |
63 | 65 |
|
64 | | -**注意** :如果同时安装了 python3 和 python2 , pip 命令可能默认安装的是 python3 版本的包,故需将上述命令中的 pip 换成pip2 (比如在我的Ubuntu上)。 |
| 66 | +**克隆本项目** |
65 | 67 |
|
66 | | -快速开始 |
67 | | ---------- |
68 | 68 |
|
69 | | -zhihu-python 主要文件为 zhihu.py ,配置文件为 config.ini , 将这两个文件下载到你的工作目录,并修改 |
70 | | -config.ini 文件中的 email 为你的知乎账户邮箱,修改 password 为你的知乎账户密码(用作模拟登录)。 |
| 69 | +.. code:: bash |
| 70 | +
|
| 71 | + git clone git@github.com:egrcc/zhihu-python.git |
| 72 | + cd zhihu-python |
| 73 | +
|
| 74 | +
|
| 75 | +**解决依赖** |
| 76 | + |
| 77 | +* `Beautiful Soup 4 <http://www.crummy.com/software/BeautifulSoup/>`_ |
| 78 | +* `requests <https://github.com/kennethreitz/requests>`_ |
| 79 | +* `html2text <https://github.com/aaronsw/html2text>`_ |
| 80 | +* `termcolor <https://pypi.python.org/pypi/termcolor>`_ |
| 81 | + |
| 82 | + |
| 83 | +.. code:: bash |
| 84 | +
|
| 85 | + sudo pip install -r requirements.txt |
| 86 | +
|
| 87 | +
|
| 88 | +Or |
| 89 | + |
| 90 | +.. code:: bash |
| 91 | +
|
| 92 | + sudo pip2 install -r requirements.txt |
| 93 | +
|
| 94 | +
|
| 95 | +
|
| 96 | +**登录知乎** |
| 97 | + |
| 98 | + |
| 99 | +登录 `知乎` 生成身份信息, 保存在当前目录的 `cookies` 文件中。 |
| 100 | + |
| 101 | +.. code:: bash |
| 102 | + |
| 103 | + python auth.py |
| 104 | +
|
| 105 | +
|
| 106 | +**执行测试** |
| 107 | + |
| 108 | + |
| 109 | +.. code:: bash |
| 110 | +
|
| 111 | + python test.py |
| 112 | +
|
| 113 | +不出意外,一切应该完美运行 :)) |
71 | 114 |
|
72 | | -(2015.2.1更新)由 `@Eureka22 <https://github.com/Eureka22>`_ 添加了cookies支持,若由于验证码原因出现登录失败,请查看浏览器的cookies,填写 config.ini 文件中的 cookies 项后重试(当然,你的cookies可能与 cogfig.ini 文件中的某些项不同,比如没有“c_c”,可能会多出“_ga”,把你的补充上去即可)。如能正常登录,cookies 项可以不填写。 |
73 | 115 |
|
74 | | -**注意** :一定记得修改config.ini文件,否则无法正常使用。 |
75 | 116 |
|
76 | | - |
77 | 117 | Question:获取问题信息 |
78 | | -~~~~~~~~~~~~~~~~~~~~~~~~ |
| 118 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
79 | 119 |
|
80 | 120 | Question 代表一个问题,处理知乎问题相关操作。创建一个 Question 对象需传入该问题的 url ,如: |
81 | 121 |
|
@@ -142,7 +182,7 @@ Question 代表一个问题,处理知乎问题相关操作。创建一个 Ques |
142 | 182 |
|
143 | 183 | |
144 | 184 | Answer:获取答案信息 |
145 | | -~~~~~~~~~~~~~~~~~~~~~ |
| 185 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
146 | 186 |
|
147 | 187 | Answer 代表了一个答案,处理知乎答案相关操作。创建一个 Answer 对象需传入该答案的 url ,如: |
148 | 188 |
|
@@ -193,7 +233,7 @@ Answer 代表了一个答案,处理知乎答案相关操作。创建一个 Ans |
193 | 233 |
|
194 | 234 |
|
195 | 235 | User:获取用户信息 |
196 | | -~~~~~~~~~~~~~~~~~~~~~~~ |
| 236 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
197 | 237 |
|
198 | 238 | User 代表一个用户,处理用户相关操作。创建一个 User 对象需传入该用户的 url ,如: |
199 | 239 |
|
@@ -268,7 +308,7 @@ User 代表一个用户,处理用户相关操作。创建一个 User 对象需 |
268 | 308 |
|
269 | 309 |
|
270 | 310 | Collection:获取收藏夹信息 |
271 | | -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 311 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
272 | 312 |
|
273 | 313 | Collection 代表一个收藏夹,处理收藏夹相关操作。创建一个 Collection 对象需传入该收藏夹的 url ,如: |
274 | 314 |
|
@@ -312,7 +352,7 @@ Collection 代表一个收藏夹,处理收藏夹相关操作。创建一个 Co |
312 | 352 | |
313 | 353 |
|
314 | 354 | 综合实例 |
315 | | -~~~~~~~~~~~~~~~ |
| 355 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
316 | 356 |
|
317 | 357 | 将 Question , Answer , User , Collection 结合起来使用。实例如下: |
318 | 358 |
|
@@ -625,6 +665,6 @@ zhihu.Collection ---- 知乎收藏夹操作类 |
625 | 665 | 联系我 |
626 | 666 | ---------- |
627 | 667 |
|
628 | | -- 微博:`@egrcc <http://weibo.com/u/2948739432>`_ |
629 | | -- github:`@egrcc <https://github.com/egrcc>`_ |
| 668 | +- 微博:http://weibo.com/u/2948739432 |
| 669 | +- github:https://github.com/egrcc |
630 | 670 | - email:zhaolujun1994@gmail.com |
0 commit comments