因此,我正在浏览的类没有属性名称。我都尝试过这两个。当我搜索= containers = soup.find_all('div', class_='today_nowcard-temp')时,它返回具有我想要的值的行。但是我没有办法提取数字。因为我要的行没有类属性名称,所以我无法直接从find函数获取数字。如果我做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)

关于python - 试图找到类的人数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58803753/

10-12 16:52
查看更多