The weather.gov website has an API where you should be able to get all that information without scraping HTML. Also see https://forecast-v3.weather.gov/documentation. I use this in Weather::WeatherGov (unreleased) to fetch weather data as JSON for a given latitude/longitude

use strict; use HTTP::Tiny; use URI; use JSON 'decode_json'; use Moo 2; use feature 'signatures'; no warnings 'experimental::signatures'; our $base_uri = URI->new( $ENV{PERL_WEATHER_WEATHERGOV_URI} #|| 'https://forecast-v3.weather.gov/' || 'https://api.weather.gov/points/' ); my $ua = HTTP::Tiny->new( agent => "Weather::WeatherGov/$VERSION", ); sub forecast( %options ) { my $entry = base_uri . sprintf '%s,%s', $options{latitude}, $options{longitude}; # We should cache this request for office and grid position # maybe store these in the same SQLite database(schema) as Weather +::MOSMIX?! # also, we need a cache and rate-limiter here so we can rate-limit # at least by IP address and maybe also globally how much we hit w +eather.gov my $loc = $self->json_request($entry); json_request( $loc->{properties}->{forecastHourly}, ); } sub json_request( $uri ) { my $response = $ua->request(GET => $uri, { accept => 'JSON-LD', } ); decode_json( $response->{content} ); }

In reply to Re: get() from website hangs by Corion
in thread get() from website hangs by jeffw_00

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.