I try to make a python script that gets the dam occupancy rates from a website. Here is the code:
baraj_link = "https://www.turkiye.gov.tr/istanbul-su-ve-kanalizasyon-idaresi-baraj-doluluk-oranlari" response = requests.get(baraj_link) soup = BeautifulSoup(response.text, "lxml") values_list = [] values = soup.find_all('dl',{re.compile('compact')}) for val in values: text = val.find_next('dt').text value = val.text values_list.append((text,value)) baraj = values_list[0][1]
The output is like this:
Tarih 18/01/2021 Genel Doluluk Oranı (%) 29,48
Genel Doluluk Oranı means occupancy rate. I need the value of occupancy rate which writes in next line like 29,48. How can I get this value from output?
Advertisement
Answer
Cause question and expected result is not that clearly as mentioned I just point to the output of occupancy rate.
Get the value by split()
the string
Prerequisite is that the value is always the last substring
in string
.
value = val.text.split()[-1]