Skip to content

Commit e83acc9

Browse files
committed
fix bug
1 parent 68125b8 commit e83acc9

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

zhihu.py

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,7 @@ def get_all_answers(self):
167167
if answers_num == 0:
168168
print "No answer."
169169
return
170+
yield
170171
else:
171172
for i in xrange((answers_num - 1) / 50 + 1):
172173
if i == 0:
@@ -865,11 +866,11 @@ def to_txt(self):
865866
# f = open(file_name, "wt")
866867
# print file_name
867868
# else:
868-
# file_name = self.get_question().get_title() + "--" + self.get_author().get_user_id() + "的回答.html"
869-
# f = open(file_name, "wt")
870-
# print file_name
871-
# f.write(str(content))
872-
# f.close()
869+
# file_name = self.get_question().get_title() + "--" + self.get_author().get_user_id() + "的回答.html"
870+
# f = open(file_name, "wt")
871+
# print file_name
872+
# f.write(str(content))
873+
# f.close()
873874

874875
def to_md(self):
875876
content = self.get_content()
@@ -885,10 +886,10 @@ def to_md(self):
885886
file_name = self.get_question().get_title() + "--" + self.get_author().get_user_id() + "的回答.md"
886887
print file_name
887888
# if platform.system() == 'Windows':
888-
# file_name = file_name.decode('utf-8').encode('gbk')
889-
# print file_name
889+
# file_name = file_name.decode('utf-8').encode('gbk')
890+
# print file_name
890891
# else:
891-
# print file_name
892+
# print file_name
892893
if not os.path.isdir(os.path.join(os.path.join(os.getcwd(), "markdown"))):
893894
os.makedirs(os.path.join(os.path.join(os.getcwd(), "markdown")))
894895
if os.path.exists(os.path.join(os.path.join(os.getcwd(), "markdown"), file_name)):
@@ -908,10 +909,10 @@ def to_md(self):
908909
print file_name
909910
# file_name = self.get_question().get_title() + "--" + self.get_author().get_user_id() + "的回答.md"
910911
# if platform.system() == 'Windows':
911-
# file_name = file_name.decode('utf-8').encode('gbk')
912-
# print file_name
912+
# file_name = file_name.decode('utf-8').encode('gbk')
913+
# print file_name
913914
# else:
914-
# print file_name
915+
# print file_name
915916
f = open(os.path.join(os.path.join(os.getcwd(), "markdown"), file_name), "wt")
916917
f.write("# " + self.get_question().get_title() + "\n")
917918
if platform.system() == 'Windows':
@@ -957,18 +958,21 @@ def get_voters(self):
957958
self.parser()
958959
soup = self.soup
959960
data_aid = soup.find("div", class_="zm-item-answer ")["data-aid"]
960-
request_url = 'http://www.zhihu.com/node/AnswerFullVoteInfoV2?params=%7B%22answer_id%22%3A%22' + str(
961-
data_aid) + '%22%7D'
961+
request_url = 'http://www.zhihu.com/node/AnswerFullVoteInfoV2'
962962
if session == None:
963963
create_session()
964964
s = session
965-
r = s.get(request_url)
965+
r = s.get(request_url, params={"params": "{\"answer_id\":\"%d\"}" % int(data_aid)})
966966
soup = BeautifulSoup(r.content)
967967
voters_info = soup.find_all("span")[1:-1]
968968
for voter_info in voters_info:
969-
voter_url = "http://www.zhihu.com" + str(voter_info.a["href"])
970-
voter_id = voter_info.a["title"].encode("utf-8")
971-
yield User(voter_url, voter_id)
969+
if voter_info.string == ( u"匿名用户、" or u"匿名用户"):
970+
voter_url = None
971+
yield User(voter_url)
972+
else:
973+
voter_url = "http://www.zhihu.com" + str(voter_info.a["href"])
974+
voter_id = voter_info.a["title"].encode("utf-8")
975+
yield User(voter_url, voter_id)
972976

973977

974978
class Collection:
@@ -1059,12 +1063,12 @@ def get_all_answers(self):
10591063
if len(answer_list) == 0:
10601064
print "the collection is empty."
10611065
return
1066+
yield
10621067
else:
10631068
question_url = None
10641069
question_title = None
10651070
for answer in answer_list:
10661071
if not answer.find("p", class_="note"):
1067-
# print 'answer',answer
10681072
question_link = answer.find("h2")
10691073
if question_link != None:
10701074
question_url = "http://www.zhihu.com" + question_link.a["href"]

0 commit comments

Comments
 (0)