提取<span>元素文本

雅各布·塞多尔

我已经能够成功获取所需的标签。但是,当我在浏览器上通过检阅查看网站代码时,可以看到有一个数据值。当我在其中插入网站HTML代码时,数据值不存在。

import requests
from bs4 import BeautifulSoup

page = requests.get("https://www.theweathernetwork.com/ca/weather/ontario/ottawa")

if page.status_code == 200:
    print("Page downloaded")
else:
    print("Page download failed")

soup = BeautifulSoup(page.content, 'html.parser')

# Locate current temperature
test = soup.find("span", {"class":"temp"})

print(test)

我要返回的结果集<span class="temp"></span>是我使用了错误的函数来返回我的结果吗?我也尝试过使用该soup.select()方法。

巴杜克

您一无所获,因为这些值是由动态呈现的JS但是,您可以向其API请求以获取所有数据。

import requests

data = requests.get("https://www.theweathernetwork.com/api/data/caon0512/cm/ci?ts=1652").json()
print(data['obs']['tc'])

这样可以在C:中获取渥太华当前的可观察温度11

要获取更多数据:

import requests

data = requests.get("https://www.theweathernetwork.com/api/data/caon0512/cm/ci?ts=1652").json()

print(data['obs']['updatetime'])
sunrise = data['obs']['sunrise_time']
temp_c = data['obs']['tc']
wind, wind_unit = data['obs']['w'], data['obs']['wu']
humidity = data['obs']['h']
visibility, visibility_unit = data['obs']['v'], data['obs']['vu']
air_quality = data['obs']['aq_index']

print(f"Sunrise: {sunrise} | Current temp: {temp_c} C | Wind: {wind} {wind_unit}")
print(f"Humidity: {humidity}% | Visibility: {visibility} {visibility_unit}")
print(f"Air quality index: {air_quality}")

这使您:

Sun Oct 18 1:15 PM
Sunrise: 7:23 AM | Current temp: 13 C | Wind: 17 km/h
Humidity: 47% | Visibility: 24 km
Air quality index: 2

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用 BeautifulSoup 提取 span 元素中的文本

如何提取被两个 <span> 元素包围的文本?

如何从SPAN提取文本?请

提取包含文本的<span>标签

Selenium Python 在 Span 之间提取文本

使用BeautifulSoup从Span类提取锚文本

使用 Puppeteer 从 span 中提取文本

span标签内文本的美丽汤提取

无法使用 BeautifulSoup 提取 span 元素

无法使用Python的Beautiful Soup从特定的span标签提取文本

无法从 span 元素中的标签中提取 href

提取元素之间的html文本

当文本之间的元素时提取XML文本

使用元素树提取元素文字文本

如何使用 Python 在 HTML 中的 <span> 标记文本之后提取特定文本

将所有类型的元素的.position()提取到其子<span>元素jQuery

无法使用 Javascript 更改 span 元素的文本

如何使用JavaScript更改span元素的文本?

Scrapy:从没有 class 或 id 的 span 中提取文本

如何通过<p>和span标签之间的一个提取文本一个

使用 findAll 从使用 Beautifulsoup 的 Span Tag 提取文本返回一个空列表

Puppeteer-需要帮助从 h2 和 span 中提取文本

如何使用BeautifulSoup从嵌套在<ul>中的<li>中的<span>中提取文本?

我需要使用 Beautifulsoup 从 H1 SPAN no class 中提取文本并删除括号

BeautifulSoup:如何提取封装在多个 div/span/id 标签中的文本

无法使用 selenium webdriver 在 span 标签中提取文本名称

提取span标签内的信息

使用BeautifulSoup提取<span> WITH标签

提取python .finditer() span=() 结果