Как извлечь таблицу с сайта NH C в Python? - PullRequest
2 голосов
/ 01 августа 2020

Здесь:

https://www.nhc.noaa.gov/gis/

В разделе «Данные и продукты» есть таблица. Я хочу извлечь таблицу и сохранить ее в файл CSV. Я написал этот базовый c код:

from bs4 import BeautifulSoup
import requests
page = requests.get("https://www.nhc.noaa.gov/gis/")
soup = BeautifulSoup(page.content, 'html.parser')
print(soup)

Я знаю только основы утилизации. Пожалуйста, ведите меня отсюда. Спасибо!

Ответы [ 2 ]

3 голосов
/ 01 августа 2020

Вы можете использовать pandas

import pandas as pd

url = 'https://www.nhc.noaa.gov/gis/'
df = pd.read_html(url)[0]

# create csv file
df.to_csv("mycsv.csv")
2 голосов
/ 01 августа 2020

Трудно сказать, но я предполагаю, что это именно то, что вам нужно:

from bs4 import BeautifulSoup
import requests

r = requests.get('https://www.nhc.noaa.gov/gis/')

soup = BeautifulSoup(r.content, 'html.parser')

for a in soup.find_all('a'):
    if a.get('href'):
        if '.' in a.get('href').split('/')[-1]\
                and 'html' not in a.get('href')\
                and '.php' not in a.get('href')\
                and 'http' not in a.get('href')\
                and 'mailto' not in a.get('href'):
            print('https://www.nhc.noaa.gov' + a.get('href'))

печатает:

https://www.nhc.noaa.gov/gis/examples/al112017_5day_020.zip
https://www.nhc.noaa.gov/gis/examples/AL112017_020adv_CONE.kmz
https://www.nhc.noaa.gov/gis/examples/AL112017_020adv_TRACK.kmz
https://www.nhc.noaa.gov/gis/examples/AL112017_020adv_WW.kmz
https://www.nhc.noaa.govforecast/archive/al092020_5day_latest.zip
https://www.nhc.noaa.gov/storm_graphics/api/AL092020_CONE_latest.kmz
https://www.nhc.noaa.gov/storm_graphics/api/AL092020_TRACK_latest.kmz
https://www.nhc.noaa.gov/storm_graphics/api/AL092020_WW_latest.kmz
https://www.nhc.noaa.govforecast/archive/al102020_5day_latest.zip
https://www.nhc.noaa.gov/storm_graphics/api/AL102020_CONE_latest.kmz
https://www.nhc.noaa.gov/storm_graphics/api/AL102020_TRACK_latest.kmz
https://www.nhc.noaa.gov/storm_graphics/api/AL102020_WW_latest.kmz
https://www.nhc.noaa.gov/gis/examples/al112017_fcst_020.zip
https://www.nhc.noaa.gov/gis/examples/AL112017_initialradii_020adv.kmz
https://www.nhc.noaa.gov/gis/examples/AL112017_forecastradii_020adv.kmz
https://www.nhc.noaa.govforecast/archive/al092020_fcst_latest.zip
https://www.nhc.noaa.gov/storm_graphics/api/AL092020_initialradii_latest.kmz
https://www.nhc.noaa.gov/storm_graphics/api/AL092020_forecastradii_latest.kmz
https://www.nhc.noaa.govforecast/archive/al102020_fcst_latest.zip

.. и так далее ...

...