繁体   English   中英

美丽的汤找不到这个HTML

[英]Beautiful Soup can't find this html

Python3 - 美丽的汤4

我正在尝试解析网站上的天气图: https//www.wunderground.com/forecast/us/ny/new-york-city

但当我抓住天气图html但美丽的汤似乎抓住它周围。

我是Beautiful Soup的新手。 我认为它无法抓住这个,因为要么它无法解析它们正在进行的标记,要么因为填充图形的javascript没有加载或者BS无法解析(至少我是这样的方式)使用它)。

就我的代码而言,它是非常基本的

import requests, bs4
url = 'https://www.wunderground.com/forecast/us/ny/new-york-city'
requrl = requests.get(url, headers={'user-agent': 'Mozilla/5.0'})
requrl.raise_for_status()
bs = bs4.BeautifulSoup(requrl.text, features="html.parser")
a = str(bs)
x = 'weather-graph'
print(a[a.find('x'):])
#Also tried a.find('weather-graph') which returns -1

我已经验证了每段代码都适用于其他场景。 最后一行应该找到该字符串并在此之后打印出所有内容。

我尝试在图形中和图形周围制作x许多不同的html片段,但没有任何实质内容。

您可以使用API​​。 与页面相同。 不知道密钥是否过期。 您可能需要对输出进行一些排序,但您可以通过datetime字段进行排序

import requests
r = requests.get('https://api.weather.com/v1/geocode/40.765/-73.981/forecast/hourly/240hour.json?apiKey=6532d6454b8aa370768e63d6ba5a832e&units=e').json()
for i in r['forecasts']:
    print(i)

如果不确定,我会很乐意更新,向您展示如何构建数据框和订单。

暂无
暂无

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

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