r2d290 Skrevet 18. november 2010 Del Skrevet 18. november 2010 (endret) Hesann Jeg jobber med å få til vekkerklokka de introduserte i hak5.org s01e03. Den skal sette på en sang, gå inn på en internettside, lese innholdet på internettsiden og printe ut innholdet. Jeg har i prinsippet fått til alt dette, men problemet er at den bare leser opp tittelen på blogginnleggene, mens jeg ønsker at den leser hele innholdet i hver post. Hadde satt pris på litt hjelp med hvordan jeg skal få til dette =) Jeg har en alarm.bat - fil med følgende innhold: echo "Good Morning Eirik... ... ... ..." >> alarm.txt echo "The blog to Voe:" >> alarm.txt perl rss2html5.pl http://feeds.blogg.no/363381/post.rss >> alarm.txt echo "Top 5 stories from Dig this morning are:... ..." >> alarm.txt perl rss2html5.pl http://www.digg.com/rss/index.xml >> alarm.txt echo "Top 5 stories from Slash Dot this morning are:... ..." >> alarm.txt perl rss2html5.pl http://rss.slashdot.org/Slashdot/slashdot >> alarm.txt echo "Top 5 stories from Boing Boing are:... ..." >> alarm.txt perl rss2html5.pl http://feeds.feedburner.com/boingboing/iBag >> alarm.txt echo "... ... Have a nice day!... ... ... ... ... ... ... ... ..." >> alarm.txt echo "Oh, and by the way, Hack point five owns!" >> alarm.txt del alarm.wav TextToWave.vbs alarm.txt 35 del alarm.txt start alarm.m3u Videre har jeg en rss2html5.pl med følgende innhold: #!/usr/bin/perl -w # rss2html - converts an RSS file to HTML # It take one argument, either a file on the local system, # or an HTTP URL like http://slashdot.org/slashdot.rdf # by Jonathan Eisenzopf. v1.0 19990901 # Copyright (c) 1999 Jupitermedia Corp. All Rights Reserved. # See http://www.webreference.com/perl for more information # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # INCLUDES use strict; use XML::RSS; use LWP::Simple; # Declare variables my $content; my $file; # MAIN # check for command-line argument die "Usage: rss2html.pl (<RSS file> | <URL>)\n" unless @ARGV == 1; # get the command-line argument my $arg = shift; # create new instance of XML::RSS my $rss = new XML::RSS; # argument is a URL if ($arg=~ /http:/i) { $content = get($arg); die "Could not retrieve $arg" unless $content; # parse the RSS content $rss->parse($content); # argument is a file } else { $file = $arg; die "File \"$file\" does't exist.\n" unless -e $file; # parse the RSS file $rss->parsefile($file); } # print the HTML channel &print_html($rss); # SUBROUTINES sub print_html { my $rss = shift; print <<HTML; HTML # print the channel items my $i = 0; foreach my $item (@{$rss->{'items'}}) { next unless defined($item->{'title'}); print "$item->{'title'}... ... ... ... ...\n"; if($i==4){ last; } $i = $i + 1; } # if there's a copyright element if ($rss->{'channel'}->{'copyright'}) { print <<HTML; <p><sub>$rss->{'channel'}->{'copyright'}</sub></p> HTML } print <<HTML; HTML } Hvis noen finner det lettere, så er rss2html5.pl en remake av rss2html.pl som ser slik ut: #!/usr/bin/perl -w # rss2html - converts an RSS file to HTML # It take one argument, either a file on the local system, # or an HTTP URL like http://slashdot.org/slashdot.rdf # by Jonathan Eisenzopf. v1.0 19990901 # Copyright (c) 1999 Jupitermedia Corp. All Rights Reserved. # See http://www.webreference.com/perl for more information # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # INCLUDES use strict; use XML::RSS; use LWP::Simple; # Declare variables my $content; my $file; # MAIN # check for command-line argument die "Usage: rss2html.pl (<RSS file> | <URL>)\n" unless @ARGV == 1; # get the command-line argument my $arg = shift; # create new instance of XML::RSS my $rss = new XML::RSS; # argument is a URL if ($arg=~ /http:/i) { $content = get($arg); die "Could not retrieve $arg" unless $content; # parse the RSS content $rss->parse($content); # argument is a file } else { $file = $arg; die "File \"$file\" does't exist.\n" unless -e $file; # parse the RSS file $rss->parsefile($file); } # print the HTML channel &print_html($rss); # SUBROUTINES sub print_html { my $rss = shift; print <<HTML; <table bgcolor="#000000" border="0" width="200"><tr><td> <TABLE CELLSPACING="1" CELLPADDING="4" BGCOLOR="#FFFFFF" BORDER=0 width="100%"> <tr> <td valign="middle" align="center" bgcolor="#EEEEEE"><font color="#000000" face="Arial,Helvetica"><B><a href="$rss->{'channel'}->{'link'}">$rss->{'channel'}->{'title'}</a></B></font></td></tr> <tr><td> HTML # print channel image if ($rss->{'image'}->{'link'}) { print <<HTML; <center> <p><a href="$rss->{'image'}->{'link'}"><img src="$rss->{'image'}->{'url'}" alt="$rss->{'image'}->{'title'}" border="0" HTML print " width=\"$rss->{'image'}->{'width'}\"" if $rss->{'image'}->{'width'}; print " height=\"$rss->{'image'}->{'height'}\"" if $rss->{'image'}->{'height'}; print "></a></center><p>\n"; } # print the channel items foreach my $item (@{$rss->{'items'}}) { next unless defined($item->{'title'}) && defined($item->{'link'}); print "<li><a href=\"$item->{'link'}\">$item->{'title'}</a><BR>\n"; } # if there's a textinput element if ($rss->{'textinput'}->{'title'}) { print <<HTML; <form method="get" action="$rss->{'textinput'}->{'link'}"> $rss->{'textinput'}->{'description'}<BR> <input type="text" name="$rss->{'textinput'}->{'name'}"><BR> <input type="submit" value="$rss->{'textinput'}->{'title'}"> </form> HTML } # if there's a copyright element if ($rss->{'channel'}->{'copyright'}) { print <<HTML; <p><sub>$rss->{'channel'}->{'copyright'}</sub></p> HTML } print <<HTML; </td> </TR> </TABLE> </td></tr></table> HTML } edit: resultatet i alarm.txt sånn det er nå, er slik: "Good Morning Eirik... ... ... ..." "The blog to Voe:" Dagen i dag og Sunsilk Minerals-konkurransen... ... ... ... ... Sjekk ut kul Beyonce-trailer!... ... ... ... ... Hey school... ... ... ... ... Jeg bruker ikke ekte pels... ... ... ... ... Gratulerer med dagen, pappaer... ... ... ... ... "Top 5 stories from Dig this morning are:... ..." Airport Body Scan Porn, Hot XXX Sexy Pics, Click Here! (PICS) SFW ... ... ... ... ... Organs of UK Nuclear Workers Secretly Harvested ... ... ... ... ... H-1B at 20: How the 'tech worker visa' is remaking IT in America - Computerworld ... ... ... ... ... Couple arrested for driving 2 MPH to strip club on stolen Wal-Mart scooter ... ... ... ... ... The 5 Most Easily Avoidable Movie Deaths ... ... ... ... ... "Top 5 stories from Slash Dot this morning are:... ..." Review of Dell Inspiron Tablet/Laptop Hybrid... ... ... ... ... Is Linux At the End of Its Life Cycle?... ... ... ... ... An Astronaut's View of Space Station Tech... ... ... ... ... 200 Students Admit Cheating After Professor's Online Rant... ... ... ... ... Cellphone Carriers Try To Control Signal Boosters... ... ... ... ... <p><sub>Copyright 1997-2010, Geeknet, Inc. All Rights Reserved.</sub></p> "Top 5 stories from Boing Boing are:... ..." Phonekerchief: cellular-blocking hankie for polite dinner social signalling... ... ... ... ... TSA head: We know nothing of Chertoff's pornoscanner conflict of interest. Also, who wants ice cream!... ... ... ... ... Recirculating gravy fountain... ... ... ... ... Vanity Fair bug sex interview with Isabella Rossellini goes horribly wrong... ... ... ... ... Sweden seeks international arrest warrant for Wikileaks founder Assange... ... ... ... ... "... ... Have a nice day!... ... ... ... ... ... ... ... ..." "Oh, and by the way, Hack point five owns!" og jeg ønsker som sagt å ikke bare ha overskriftene, men også innholdet i artikkelen til Voe. (og hvis noen lurte, bruker jeg Voe bare som et eksempel ) Endret 18. november 2010 av r2d290 Lenke til kommentar
kaian Skrevet 20. november 2010 Del Skrevet 20. november 2010 next unless defined($item->{'title'}); print "$item->{'title'}... ... ... ... ...\n"; Så den skriver ut $item->{title}, og du vil ha mer. Sjekk hva som finnes i item: use Data::Dumper; next unless defined($item->{'title'}); print "$item->{'title'}... ... ... ... ...\n"; print Dump($item); Lenke til kommentar
r2d290 Skrevet 20. november 2010 Forfatter Del Skrevet 20. november 2010 rss2html5.pl: #!/usr/bin/perl -w # rss2html - converts an RSS file to HTML # It take one argument, either a file on the local system, # or an HTTP URL like http://slashdot.org/slashdot.rdf # by Jonathan Eisenzopf. v1.0 19990901 # Copyright (c) 1999 Jupitermedia Corp. All Rights Reserved. # See http://www.webreference.com/perl for more information # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # INCLUDES use strict; use XML::RSS; use LWP::Simple; use Data::Dumper; # Declare variables my $content; my $file; # MAIN # check for command-line argument die "Usage: rss2html.pl (<RSS file> | <URL>)\n" unless @ARGV == 1; # get the command-line argument my $arg = shift; # create new instance of XML::RSS my $rss = new XML::RSS; # argument is a URL if ($arg=~ /http:/i) { $content = get($arg); die "Could not retrieve $arg" unless $content; # parse the RSS content $rss->parse($content); # argument is a file } else { $file = $arg; die "File \"$file\" does't exist.\n" unless -e $file; # parse the RSS file $rss->parsefile($file); } # print the HTML channel &print_html($rss); # SUBROUTINES sub print_html { my $rss = shift; print <<HTML; HTML # print the channel items my $i = 0; foreach my $item (@{$rss->{'items'}}) { next unless defined($item->{'title'}); print "$item->{'title'}... ... ... ... ...\n"; print Dump($item); if($i==4){ last; } $i = $i + 1; } # if there's a copyright element if ($rss->{'channel'}->{'copyright'}) { print <<HTML; <p><sub>$rss->{'channel'}->{'copyright'}</sub></p> HTML } print <<HTML; HTML } alarm.txt "Good Morning Eirik... ... ... ..." "" "The 5 newest post from Tuxxxie are:" JOBB og atter JOBB... ... ... ... ... "" "Top 5 newest post from Kinder are:" 17. november 2010... ... ... ... ... "" "Top 5 newest post from Malenemi are:" Vinter i stallen... ... ... ... ... "" "Top 5 newest post from Randy are:" Life right now!... ... ... ... ... "" "Top 5 stories from Dig this morning are:... ..." How The USA Views The World (PIC) ... ... ... ... ... "" "... ... Have a nice day!... ... ... ... ... ... ... ... ..." "Oh, and by the way, Hack point five owns!" (har nå lagt inn de bloggene jeg skal abonere på, så derfor litt annet innhold. Det som skjedde da jeg la til de linjene, var at den nå kun viser den første av hver tittel, men hvis jeg fjerner linjene igjen så viser den de 5 første tittlene. Noe jeg gjorde galt? Lenke til kommentar
kaian Skrevet 20. november 2010 Del Skrevet 20. november 2010 (endret) Jeg må installere xml::rss for å få testa, men prøv print Dump(%item); For fort, se neste post... Endret 20. november 2010 av kaian Lenke til kommentar
kaian Skrevet 20. november 2010 Del Skrevet 20. november 2010 Jeg må installere xml::rss for å få testa, men prøv print Dump(%item); Meh, ikke hør på han der! Det er Dumper altså: nøyaktig sånn som du gjorde, men print Dumper($item); Data::Dumper hjelper deg å se hva som er i en variabel, også når det er et helt array, hash eller objekt. Nå kan du se hvilke felt du vil ha med i utskriften. Når du har sett det, kommenter ut print Dumper..... og print $item->{'det-finner-du-med-Dumper'} i stedet Lenke til kommentar
r2d290 Skrevet 20. november 2010 Forfatter Del Skrevet 20. november 2010 Nei vettu hva, han første tullingen gidder jeg pokker ikke å høre på. Nesten så jeg rapporterer han for trolling :/ Neida, men han siste fyren, han fortjener en klapp på skuldra. Nå fikk jeg en txt-fil på 196 KB, og en Wav-fil på 6-700 MB Så blir neste steg å få inn et filter ut ifra alle postene da... får ta det til uka =) Lenke til kommentar
kaian Skrevet 20. november 2010 Del Skrevet 20. november 2010 Nå fikk jeg en txt-fil på 196 KB, og en Wav-fil på 6-700 MB Så blir neste steg å få inn et filter ut ifra alle postene da... får ta det til uka =) Flott, lykke til! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå