-
Notifications
You must be signed in to change notification settings - Fork 0
/
get_rdb_user.py
37 lines (31 loc) · 1.01 KB
/
get_rdb_user.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from bs4 import BeautifulSoup
import urllib.request as req
import sys
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
def printUser(num):
url = 'https://supleks.jp/u/' + str(num) + '.html'
try:
res = req.urlopen(url)
soup = BeautifulSoup(res, "html.parser")
# user name
nameLevel = soup.find('div', id="name-level")
userName = nameLevel.find('h2').string
# user profile string
prop = soup.select_one(".profile > div.props")
if prop is None :
userProfile = "なし"
else:
userProfile = prop.string
links = soup.find('table', class_="counts").find_all('td')
reviews = links[0].text.replace(',', '')
shops = links[1].text.replace(',', '')
favorites = links[2].text.replace(',', '')
likes = links[3].text.replace(',', '')
print(num, '\t', userName, '\t', reviews, '\t', shops, '\t', favorites, '\t', likes, '\t', userProfile)
except:
pass
# メインメソッド
args = sys.argv
for num in range(int(args[1]), int(args[2]) + 1):
printUser(num)