再会。我正在尝试(学习)抓取该网站。有数据(有很多这样的带有数据的行,大约28-30个单位)。
<div class="maxt">
<temperature-value value="-12" from-unit="c" reactive="">−12</temperature-value>
</div>
我通过 BeautifulSoup 获取字符串。
maxt = bs.find_all('div', class_= "maxt")
这些线条本身是正确的。
无法从这一行获取值:-12 对于所有内容。
告诉我出了什么问题。
我设法这样做,但也许我可以通过“find...find_all”来做到这一点
temp_list = []
for t in temp:
temperatyre = t['value']
if temperatyre != '':
print(t['value'])
temp_list.append(temperatyre)
此外,代码可以工作,但选择并不令人满意(它选择了所有温度,但例如只需要 maxt 和 mint)
import requests
from bs4 import BeautifulSoup
url = 'https://www.gismeteo.ru/weather-omsk-4578/month/'
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",}
response = requests.get(url, headers=headers)
bs = BeautifulSoup(response.text, 'lxml')
temp = bs.find_all('temperature-value')
print('всего строк = ' + str(len(temp)))
temp_list = []
for t in temp:
temperatyre = t['value']
if temperatyre != '':
print(t['value'])
temp_list.append(temperatyre)