我正在做一个脚本,从URL获取一些数据(http://www.pmo.cz/portal/nadrze/cz/mereni_1_mes.htm(。我所需要的只是从这个图表中获取数据(和日期+时间(:图表
问题是我无法摆脱输出中的平面线,然后以某种方式检索数据...... 有没有办法摆脱线条+获取值?我是否以错误的方式做,或者我只是愚蠢,找不到就在我眼皮底下的简单解决方案?(我刚刚开始使用python,所以如果这只是另一个重复的问题,我很抱歉(
我尝试了 .rstrip 函数,尝试使用 for 循环将其删除,尝试将其转换为另一种数据类型,但似乎没有任何效果:(
我遵循了一个教程(我不记得是哪一个(,最后来到了这里:
import requests
from bs4 import BeautifulSoup
url = 'http://www.pmo.cz/portal/nadrze/cz/mereni_1_mes.htm'
res = requests.get(url)
html = res.content
soup = BeautifulSoup(html, 'html.parser')
text = soup.find_all(text=True)
output = ''
blacklist = [
'[document]',
'noscript',
'header',
'html',
'meta',
'head',
'input',
'script',
]
for t in text:
if t.parent.name not in blacklist:
output += '{} '.format(t)
print(output)
输出:
UPOZORNĚNÍ: Veškerá uváděná data jsou bez záruky.
VD Vranov
Tok:
Dyje
Koruna hráze:
353,39 [m n.m.]
Kóta přelivu:
350,10 [m n.m.]
Maximální retenční hladina:
351,45 [m n.m.]
Hladina zásobního prostoru:
348,45 [m n.m.]
Hladina stálého nadržení:
331,45 [m n.m.]
Výškový systém:
Balt p.v.
Schema:
Přejít na aktuální data (týden)
Aktuální hodnoty (25.01.2020 21:00):
Hladina vody v nádrži [m n.m.]
341,46
Objem [mil. m3]
70,49
Přítok [m 3 .s -1 ]
3,42
Odtok [m 3 .s -1 ]
2,66
Srážky [mm]
0,0
Teplota vzduchu [°C]
-1,3
你有很多换行符和空字符串,所以你需要删除它们。请尝试进行以下更改:
output = []
for t in text:
if t.parent.name not in blacklist:
target = t.strip().replace('n','') # remove spaces and newlines
if len(target)>0: #remove empty strings
output.append(target)
for o in output:
print(o)
输出:
UPOZORNĚNÍ: Veškerá uváděná data jsou bez záruky.
VD Vranov
Tok:
Dyje
等。