簡體   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