Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8471[/thread]

daten auslesen evtl über RSS (Seite 2)

Leser: 2


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
Ispartali86
 2006-11-17 14:36
#71385 #71385
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
so jetzt habe ich alle nötigen Module für das RSS installiert.

Mein Script lautet so:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/perl

use LWP::Simple;
use XML::RSS;

$title="Wetter-Bericht: Kaarst";
$url="http://wetter.msn.com/RSS.aspx?wealocations=wc:15834&weadegreetype=C&culture=de-DE";
genTable($title, $url, $temp, $morgen);

exit;

sub genTable {
my $title=shift;
my $url=shift;
my $temp=shift;
my $morgen=shift;
$content=get($url);

my $rss = new XML::RSS;
$rss->parse($content);

print "$title\n\n";

foreach my $item (@{$rss->{'items'}}) {
next unless defined($item->{'title'});
#wenn ich jetzt defined($description->{'description'}) eingebe zeigt er mir gar nichts mehr an

print "$item->{'title'}\n\n";
print "$item->{'description'}\n\n";
}
}


aber bei diesem code zeigt er mir das ganze rss, ich will aber nur das aktuelle wetter und das morgige wetter mit temperatur haben.

Wie kann ich es denn machen, was habe ich falsch gemacht, und wie kann man denn in einem script nach etwas suchen und das gesuchte ausgeben.
renee
 2006-11-17 15:01
#71386 #71386
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ein allgemeiner Tipp: Immer Wiki:[tt]use strict;[/tt] und use warnings verwenden!

Zu Deinem Problem:

Du musst in der for-Schleife dem Programm schon mitteilen, bei welchem Titel etwas ausgegeben werden soll. perl kann nun mal nicht hellsehen ;)

Also so etwas in der Richtung
Code: (dl )
1
2
3
for my $item(@{$rss->[items}}){
next unless defined $item->{title} and $item->{title} eq 'Wetter von Morgen';
#...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Ispartali86
 2006-11-17 15:11
#71387 #71387
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
foreach my $item (@{$rss->{'items'}}) {
next unless defined($item->{'title'}) and $item->{title} eq 'Wetter von Morgen';;
print "$item->{'title'}\n\n";


muss ich immer für das gesuchte das $item->{'title'} eq "gesuchter Text"; verwenden

und außerdem muss man da nicht && defined($item... benutzten oder kann ich das defined weglassen
renee
 2006-11-17 15:16
#71388 #71388
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du solltest auch den Artikel lesen, der sich hinter dem Link versteckt. Dann verstehst Du auch, warum diese "Global symbol..."-Meldungen kommen!

Wenn Du nur die Meldungen zu einem bestimmten Titel haben willst, dann musst Du den Titel schon angeben. Wie gesagt - perl kann nicht hellsehen und wissen was Du willst. Es gibt zwar genug Magie in perl, aber noch nicht so viel dass es immer automatisch weiß was der Programmierer will.

Und was meinst Du mit
Quote
und außer muss man da nicht && defined($item... benutzten
??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Ispartali86
 2006-11-17 15:21
#71389 #71389
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
sorry ich habe vorhin den beitrag gelesen, und den fehler behoben, zuruck zur der frage in der suche steht ja das mit defined($item->{'title'}) und du hast $item->{title} geschrieben, muss ich das mit defined machen oder ohne, und wenn ich ein zweites $item->{title} hinzufüge zeigt er mir dann gar nichts mehr an und wieso
renee
 2006-11-17 15:26
#71390 #71390
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich habe immer noch das defined drin:
Quote
Code: (dl )
    next unless defined $item->{title} ...


Du musst den richtigen Titel raussuchen. Das "Wetter von morgen" war nur ein Beispieltitel.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2006-11-17 15:30
#71391 #71391
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du solltest Dir vielleicht auch mal CPAN:Data::Dumper die Datenstruktur von $rss anschauen. Dann kannst Du besser erkennen, welche Teile Du tatsächlich brauchst und wie Du dorthin "navigieren" kannst.
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2006-11-03 17:51.