繁体   English   中英

试图在 class 中找到号码

[英]Trying to find the number within class

所以我正在查看的 class 没有属性名称。 这两种我都试过了。 当我搜索 = containers = soup.find_all('div', class_='today_nowcard-temp')时,它会返回具有我想要的值的行。 但我无法提取数字。 因为我想要的行没有 class 属性名称,所以我无法直接从查找 function 中获取数字。 如果我做containers = soup.find('span', class_=None它不会返回我想要的值。这就是我到目前为止所拥有的全部内容:

import requests
from bs4 import BeautifulSoup

url = 'https://weather.com/en-CA/weather/today/l/8663b88e4a1c7d6068b7f33e360396ac1c89f3dde9533082cd342aef06ad1e87'

page = requests.get(url)

soup = BeautifulSoup(page.text, 'html.parser')
containers = soup.find_all('div', class_='today_nowcard-temp')


print(containers)

使用find () 而不是find_all () 然后执行find_next('span')

import requests
from bs4 import BeautifulSoup

url = 'https://weather.com/en-CA/weather/today/l/8663b88e4a1c7d6068b7f33e360396ac1c89f3dde9533082cd342aef06ad1e87'

page = requests.get(url)

soup = BeautifulSoup(page.text, 'html.parser')
containers = soup.find('div', class_='today_nowcard-temp')
print(containers.find_next('span').text)

如果你想使用 find_all() 然后像下面那样迭代它。

containers = soup.find_all('div', class_='today_nowcard-temp')
for item in containers:
   print(item.find_next('span').text)

或者您可以使用 css 选择器。

print(soup.select_one("div.today_nowcard-temp > span").text)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM