feat: 活動列表查詢
This commit is contained in:
parent
bca08dcbf2
commit
c84ccec8e8
@ -111,5 +111,10 @@ eventReg = EventRegistry(CONFIG['NCNU']['username'], CONFIG['NCNU']['password'])
|
|||||||
if eventReg.status:
|
if eventReg.status:
|
||||||
print("登入成功")
|
print("登入成功")
|
||||||
space()
|
space()
|
||||||
|
|
||||||
|
# ===== Test 取得所有活動第一頁的列表
|
||||||
|
for event in eventReg.getEventsList():
|
||||||
|
print(event)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print("登入失敗")
|
print("登入失敗")
|
||||||
|
|||||||
@ -35,4 +35,34 @@ class EventRegistry():
|
|||||||
if len(response.history)!=0:
|
if len(response.history)!=0:
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def getEventsList(self):
|
||||||
|
'''
|
||||||
|
取得活動列表中的第一頁
|
||||||
|
包含所有狀態的活動
|
||||||
|
'''
|
||||||
|
url = "https://ccweb.ncnu.edu.tw/SLLL/z6D3B52D553CA5831540D8CC7659967E58A62list.asp"
|
||||||
|
response = self.session.get(url)
|
||||||
|
|
||||||
|
with open('test.html') as fp:
|
||||||
|
response = fp.read()
|
||||||
|
|
||||||
|
root = BeautifulSoup(response, 'html.parser')
|
||||||
|
events = root.find('table').findAll('tr')
|
||||||
|
|
||||||
|
return [{
|
||||||
|
'id': getUrlParam(data[0].find('a').get('href').replace('&', '&'), 'RowID'),
|
||||||
|
# 活動詳細:
|
||||||
|
# https://ccweb.ncnu.edu.tw/SLLL/z6D3B52D553CA5831540D8CC7659967E58A62view.asp?showdetail=&RowID={}
|
||||||
|
|
||||||
|
'semester': data[1].text.replace('\n', ''),
|
||||||
|
'status': data[2].text.replace('\n', ''), # 活動報名狀態
|
||||||
|
'name': data[3].text.replace('\n', ''),
|
||||||
|
'time': data[4].text.replace('\n', ''), # 活動開始時間
|
||||||
|
'method': data[5].text.replace('\n', ''), # 報名方式
|
||||||
|
'hour': data[6].text.replace('\n', ''), # 時數
|
||||||
|
'speaker': data[7].text.replace('\n', ''), # 講師
|
||||||
|
'teacherEvent': data[8].text.replace('\n', ''), # 申請為教師知能活動
|
||||||
|
} for data in (event.findAll('td') for event in events[1:])]
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user