-
Notifications
You must be signed in to change notification settings - Fork 0
/
request_part.py
101 lines (94 loc) · 3.09 KB
/
request_part.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import requests
from bs4 import BeautifulSoup
# get information from website
req = requests.get('http://e-iot.iot.gov.tw/EIot/ajax/TEvent/nFreewaySpeed.aspx?Freeway=N5')
soup = BeautifulSoup(req.text, 'html.parser')
from_to = soup.find_all("td", {"class" : "content_6"})
#print (from_to[1].text)
speed = soup.find_all("font")
# save in data structure
N_start = []
N_final = []
N_speed = []
S_start = []
S_final = []
S_speed = []
total = []
result = []
num = 7
for n in range(29):
if n<14:
if n%2 == 0:
N_start.append(from_to[n+1].text)
else:
N_final.append(from_to[n+1].text)
# n == 14 skip
if n>14:
if n%2 == 1:
S_start.append(from_to[n+1].text)
else:
S_final.append(from_to[n+1].text)
for m in range(16):
if m%8 == 0:
continue
if m<8:
N_speed.append(speed[m].text.strip())
else:
S_speed.append(speed[m].text.strip())
for n in range(7):
s = "北上 "+N_start[n]+" 至 "+N_final[n]+" "
total.append(s)
for n in range(7):
s = "南下 "+S_start[n]+" 至 "+S_final[n]+" "
total.append(s)
#print (total)
# reading from file a.txt, each 5 mins
fr = open('a.txt', 'r', encoding = 'UTF-8')
i = 0
Ncount = 0;
Scount = 0;
# if speed doesn't change and <= 40 means 擁塞, post up
# if not, means 順暢
while True:
line = fr.readline()
if not line: break
if i < 7:
if int(line[:len(line)-1]) <= 40:
if int(N_speed[i]) <= 40:
Ncount += 1
payload = {'robot_id': '108143422899450', 'content': total[i], 'lng': '120', 'lat': '23'}
req = requests.post("http://52.192.20.250/chat/create/robot/", data=payload)
print (req.status_code)
#print (total[i]+"擁塞")
if i >= 7 & i < 14:
if int(line[:len(line)-1]) <=40:
if int(S_speed[i-7]) <= 40:
Scount += 1
payload = {'robot_id': '108143422899450', 'content': total[i], 'lng': '120', 'lat': '23'}
req = requests.post("http://52.192.20.250/chat/create/robot/", data=payload)
print (req.status_code)
#print (total[i]+"擁塞")
i += 1
if Ncount == 0 & Scount == 0:
payload = {'robot_id': '108143422899450', 'content': '全線順暢', 'lng': '120', 'lat': '23'}
req = requests.post("http://52.192.20.250/chat/create/robot/", data=payload)
print (req.status_code)
#print ("全線順暢")
else:
payload = {'robot_id': '108143422899450', 'content': '其他順暢', 'lng': '120', 'lat': '23'}
req = requests.post("http://52.192.20.250/chat/create/robot/", data=payload)
print (req.status_code)
#print ("其他順暢")
fr.close()
# post
#for i in range(7):
# payload = {'robot_id': '108143422899450', 'content': total[i], 'lng': '120', 'lat': '23'}
# req = requests.post("http://52.192.20.250/chat/create/robot/", data=payload)
# print (req.status_code)
# writing in file a.txt
fw = open('a.txt', 'w', encoding = 'UTF-8')
for i in range(7):
fw.write(N_speed[i]+"\n")
for i in range(7):
fw.write(S_speed[i]+"\n")
fw.close()