|
|
|
@ -37,14 +37,14 @@ from lxml import html
|
|
|
|
|
|
|
|
|
|
output_dir = 'csv'
|
|
|
|
|
stn_ids = [
|
|
|
|
|
2, # Offshore (Directional) Wave
|
|
|
|
|
3, # Bombora (Directional) Wave
|
|
|
|
|
4, # Captain Cook Channel (SG) Wave
|
|
|
|
|
5, # Kurnell (SG) Wave
|
|
|
|
|
6, # Molineaux Point Wind
|
|
|
|
|
7, # Sydney Airport (Main Runway BOM) Wind
|
|
|
|
|
8, # Brotherson Emergency Response Jetty Tide
|
|
|
|
|
9, # Caltex (Directional) Current
|
|
|
|
|
2, # Offshore (Directional) Wave
|
|
|
|
|
3, # Bombora (Directional) Wave
|
|
|
|
|
4, # Captain Cook Channel (SG) Wave
|
|
|
|
|
5, # Kurnell (SG) Wave
|
|
|
|
|
6, # Molineaux Point Wind
|
|
|
|
|
7, # Sydney Airport (Main Runway BOM) Wind
|
|
|
|
|
8, # Brotherson Emergency Response Jetty Tide
|
|
|
|
|
9, # Caltex (Directional) Current
|
|
|
|
|
12, # Western Wedding Cake Wind
|
|
|
|
|
13, # Fort Denison (Sth end BOM) Wind
|
|
|
|
|
14, # Overseas Passenger Terminal Wind
|
|
|
|
@ -92,16 +92,21 @@ def update_master(output_dir, csv_name, df):
|
|
|
|
|
master.to_csv(os.path.join(output_dir, csv_name))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Get main page
|
|
|
|
|
url = 'http://wavewindtide.portauthoritynsw.com.au/'
|
|
|
|
|
page = requests.get(url)
|
|
|
|
|
tree = html.fromstring(page.content)
|
|
|
|
|
def main(stn_id):
|
|
|
|
|
"""Extract current parameters for selected station.
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
stn_id (int): station ID
|
|
|
|
|
|
|
|
|
|
Returns:
|
|
|
|
|
None
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
for stn_id in stn_ids:
|
|
|
|
|
# Get elements from selected station
|
|
|
|
|
t_raw = tree.get_element_by_id(f'MainContent_ctl{stn_id:02}_lblRecordDate')
|
|
|
|
|
meas = tree.get_element_by_id(f'MainContent_ctl{stn_id:02}_lblSummary')
|
|
|
|
|
description = tree.get_element_by_id(f'MainContent_ctl{stn_id:02}_lblTitle')
|
|
|
|
|
description = tree.get_element_by_id(
|
|
|
|
|
f'MainContent_ctl{stn_id:02}_lblTitle')
|
|
|
|
|
|
|
|
|
|
# Parse column names
|
|
|
|
|
text = re.split(':\s|(m|s|knots|deg)\s', meas.text + ' ')
|
|
|
|
@ -123,3 +128,15 @@ for stn_id in stn_ids:
|
|
|
|
|
# Update master dataframe
|
|
|
|
|
csv_name = description.text + '.csv'
|
|
|
|
|
update_master(output_dir, csv_name, df)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Get main page
|
|
|
|
|
url = 'http://wavewindtide.portauthoritynsw.com.au/'
|
|
|
|
|
page = requests.get(url)
|
|
|
|
|
tree = html.fromstring(page.content)
|
|
|
|
|
|
|
|
|
|
for stn_id in stn_ids:
|
|
|
|
|
try:
|
|
|
|
|
main(stn_id)
|
|
|
|
|
except (TypeError, KeyError):
|
|
|
|
|
pass
|
|
|
|
|