Skip to content

Commit 617da4b

Browse files
committed
Merge pull request egrcc#38 from Mukosame/master
增加获取知乎用户的性别
2 parents 2f704fd + c1239fc commit 617da4b

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

README.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,8 @@ User 代表一个用户,处理用户相关操作。创建一个 User 对象需
255255
user = User(user_url)
256256
# 获取用户ID
257257
user_id = user.get_user_id()
258+
# 获取用户性别
259+
user_gender = user.get_gender()
258260
# 获取该用户的关注者人数
259261
followers_num = user.get_followers_num()
260262
# 获取该用户关注的人数
@@ -485,7 +487,13 @@ zhihu.User ---- 知乎用户操作类
485487
得到该用户的ID。
486488

487489
**Returns**: 代表 ID 的字符串
490+
491+
**user.get_gender** ()
488492

493+
得到该用户的性别。
494+
495+
**Returns**: 代表 性别 的字符串(male/female)
496+
489497
**get_followees_num** ()
490498

491499
得到该用户关注的人的个数。

test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ def user_test(user_url):
103103
user = User(user_url)
104104
# 获取用户ID
105105
user_id = user.get_user_id()
106+
# 获取用户性别
107+
user_gender = user.get_gender()
106108
# 获取该用户的关注者人数
107109
followers_num = user.get_followers_num()
108110
# 获取该用户关注的人数
@@ -130,6 +132,7 @@ def user_test(user_url):
130132
collections = user.get_collections()
131133

132134
print user_id # 黄继新
135+
print user_gender #male
133136
print followers_num # 614840
134137
print followees_num # 8408
135138
print asks_num # 1323

zhihu.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,25 @@ def get_data_id(self):
381381
data_id = soup.find("button", class_="zg-btn zg-btn-follow zm-rich-follow-btn")['data-id']
382382
return data_id
383383

384+
def get_gender(self):
385+
"""
386+
By Mukosame (https://github.com/mukosame)
387+
增加获取知乎识用户的性别
388+
389+
"""
390+
if self.user_url == None:
391+
print "I'm anonymous user."
392+
return 0
393+
else:
394+
if self.soup == None:
395+
self.parser()
396+
soup = self.soup
397+
gender = str(soup.find("span",class_="item gender").i)
398+
if (gender == '<i class="icon icon-profile-female"></i>'):
399+
return 'female'
400+
else:
401+
return 'male'
402+
384403
def get_followees_num(self):
385404
if self.user_url == None:
386405
print "I'm anonymous user."

0 commit comments

Comments
 (0)