因此,我正在浏览的类没有属性名称。我都尝试过这两个。当我搜索= 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/