嘿,我想解析以下网站的天气数据:http://www.indiaweather.gov.in
如果您发现有一个搜索栏,可以让您输入任何印度城市的名称,当您点击时,您最终会在一个页面上显示该城市的天气数据。
有人可以帮我一个脚本,让我输入城市名称,并显示城市的天气数据吗?
我不知道如何解析数据。
谢谢!
答案 0 :(得分:-1)
你可以使用美丽的汤!在特定的html标签之间获取所需的数据。如果你想自己做,你可以通过调用网站的api发布你的数据。首先安装请求。 pip install requests
然后
import re
import requests
# the data is between align="left"><font size="3px"> and </font> in each specific part so we use re to find it
def find_data(line):
return re.search('align="left"><font size="3px">(.*?)</font>', line).group(1)
params = {
'tags': city_name,
'submit': 'Go'
}
response = requests.post('http://www.indiaweather.gov.in/?page_id=942', data=params).content.splitlines()
try:
current_temp = find_data(response[357])
max_temp = find_data(response[362])
min_temp = find_data(response[369])
last_day_rainfall = find_data(response[376])
current_wind_direction = find_data(response[382])
current_wind_speed = find_data(response[389])
current_dew_point = find_data(response[396])
current_sea_level_pressure = find_data(response[403])
print(current_temp, max_temp, min_temp, last_day_rainfall, current_wind_direction, current_wind_speed,
current_dew_point, current_sea_level_pressure)
except IndexError:
print('No Info Found For %s' % params['tags'])