当从googleweather中获取风速时,我可以看到它,但是我无法获取它

2024-05-19 03:40:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试着从谷歌7天预报中得到风速。当我检查网页代码时,我可以看到风速,但是当我在类中使用find_all()时,它只返回温度数据和7天预报的今天风速。你知道吗

import requests
from bs4 import BeautifulSoup

page = requests.get("https://www.google.co.nz/search?ei=CQmzW9_zHsaiwAPuvruwCQ&q=tauranga+weather+forecast&oq=tauranga++forecast&gs_l=psy-ab.3.0.0i7i30k1l10.9062.9062.0.11810.1.1.0.0.0.0.205.205.2-1.1.0....0...1c.1.64.psy-ab..0.1.205....0.R-r6_9AWgnA")
soup = BeautifulSoup(page.content, "html.parser")

wind = soup.find_all("span", class_="wob_t")

for i, e in enumerate(wind):
    print(i, e.get_text())

我做错什么了?你知道吗


Tags: 代码import网页getpageallfindrequests
1条回答
网友
1楼 · 发布于 2024-05-19 03:40:02

我看到您所看到的所需div内容是由一些javascript代码生成的。i、 e:当您点击页面上显示的“Wind”按钮时,javascript会修改HTML并生成Wind div,持续7天。你知道吗

使用给定的URL生成的soup,我看到只有一个wind speed div条目。这是页面上显示的内容。你知道吗

In [7]: soup.findAll("span", text = re.compile("km/h"))
Out[7]: [<span class="wob_t" style="display:inline">16 km/h</span>]

因此,使用请求模块来删除这些基于javascript修改来更新HTML的页面并不是一个好主意。我建议访问这些类型的页面,您应该使用python-selenium。你知道吗

相关问题 更多 >

    热门问题