Portál AbcLinuxu, 26. dubna 2024 12:07


Dotaz: Parsovani v Bashi

25.5.2011 19:20 JK
Parsovani v Bashi
Přečteno: 397×
Odpovědět | Admin
Hezky den vsem,

Potreboval bych pomoct trosku.. Mam zadanou adresu a podle zdrojoveho kodu stranky mam jenom vytahnout informace. Je to stranka o pocasi, kde mam dve casti dne, a teploty u nich a potreboval bych jenom vystrihnout cast dne a teplotu..

Dekuju

JK

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

pek avatar 25.5.2011 19:37 pek | skóre: 20
Rozbalit Rozbalit vše Re: Parsovani v Bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Třeba:
wget -O - http://example.com | grep "Dnes je:"
Ale domácí úkoly by si měl každý napsat sám :^)
Slackware
25.5.2011 19:42 loki
Rozbalit Rozbalit vše Re: Parsovani v Bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hod sem adresu, aby se dalo treba podle oddelovacu postavit nejaky regularni vyraz nebo awk skriptik.
25.5.2011 19:46 JK
Rozbalit Rozbalit vše Re: Parsovani v Bashi
Odpovědět | | Sbalit | Link | Blokovat | Admin
Příloha:
Prilohu si musis pretahnout k sobe a pak uz to normalne otevres jako www a pak staci otevrti zdrojak..
26.5.2011 10:09 NeoV | skóre: 23
Rozbalit Rozbalit vše Re: Parsovani v Bashi
Perl skript:
#!/usr/bin/perl


use strict;
use LWP::Simple;

my $content = Encode::encode("windows-1250", get "http://www.abclinuxu.cz/data/prilohy/9/9/175399-pocasi-1837466145685031135.html");

while ($content =~ m~<div class="cDay"[^<]*<h4>([^<]*)</h4>[^<]*<[^<]*<a\s[^>]*>([^<]*)</a>[^<]*<br[^<]*<a\s[^<]*<[^<]*<[^<]*<p>([^<]*)[^<]*<[^<]*<[^<]*<[^<]*<[^<]*<a\s[^>]*>([^<]*)</a>[^<]*<br[^<]*<a\s[^<]*<[^<]*<[^<]*<p>([^<]*)~isg)
{
        print "$1 - $2 - $3 - $4 - $5\n";
}

Vysledok:
$ perl script.pl
Čtvrtek - Ráno - 7/11 - Odpoledne - 24/28
Pátek - Ráno - 12/16 - Odpoledne - 16/20
Sobota - Ráno - 6/10 - Odpoledne - 17/21

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.