Skip to content

Commit a770925

Browse files
committed
add the zhihu userinfo
1 parent e4cd372 commit a770925

1 file changed

Lines changed: 44 additions & 0 deletions

File tree

‎bs4/zhihu/zhihu_userInfo.py‎

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# coding:utf-8
2+
import requests
3+
from bs4 import BeautifulSoup
4+
import time
5+
6+
7+
url = 'https://www.zhihu.com/people/mu-tong-63'
8+
9+
headers = {
10+
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.95 Safari/537.36 Core/1.50.1414.400 QQBrowser/9.5.9244.400' # ur user-Agent here,
11+
}
12+
13+
def list_is_none_and_get_text(list,index):
14+
if list:
15+
return list[index].get_text()
16+
else:
17+
return None
18+
19+
def get_user_info(url):
20+
data = requests.get(url, headers=headers)
21+
soup = BeautifulSoup(data.text, 'lxml')
22+
name = list_is_none_and_get_text(soup.select('div > div.top > div.title-section > span'),0)
23+
sex = soup.select('div > span.info-wrap > span.item.gender > i')[0]['class'][1].split('-')[2]
24+
address = soup.select('span.info-wrap > span.location.item')[0]['title']
25+
agree = list_is_none_and_get_text(soup.select('div > span.zm-profile-header-user-agree > strong'),0)
26+
thanks = list_is_none_and_get_text(soup.select('div > span.zm-profile-header-user-thanks > strong'),0)
27+
followees = list_is_none_and_get_text(soup.select('div.zm-profile-side-following.zg-clear > a > strong'),0)
28+
followers = list_is_none_and_get_text(soup.select('div.zm-profile-side-following.zg-clear > a > strong'),1)
29+
employment = list_is_none_and_get_text(soup.select('div.items > div > span.info-wrap > span.employment.item > a'),0)
30+
content = list_is_none_and_get_text(soup.select('span.info-wrap.fold-wrap.fold.disable-fold > span.fold-item > span'),0).strip('\n')
31+
dic = {
32+
'name': name,
33+
'sex': sex,
34+
'address': address,
35+
'agree': agree,
36+
'thanks': thanks,
37+
'followees': followees,
38+
'followers': followers,
39+
'employment': employment,
40+
'content': content,
41+
}
42+
print dic
43+
return dic
44+
get_user_info(url)

0 commit comments

Comments
 (0)