Hallo,
ich moechte von mobile.de alle Angebote von best. Marken (zB Adria Wohnwagen)
downloaden. Auf einer Seite sind immer 20 Angebote ausgegeben. An die jeweils
naechsten 20 Angebote komme ich indem der Parameter &top=21 mitgegeben wird:
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_make=400&top=21',
Auf jeder Seite befindet sich eine Zeile die in etwa so aussieht
<td height=14 valign="top" class=small><nobr><A onmouseover="window.status = 'letzte Seite'; return true;" onmouseout="window.status='';" HREF="http://www.mobile.de/SID1ahNXjaxupyK6DR2bJj0Iw-t-vaNexlCsAsK%F3P%F3R~BmSB10LsearchPublicJ1067436348A1LsearchPublicIMotorhomeY-t-vctpLtt~BmPA1A1B20C242X-t-vMk_xsO~BSRA6C400A0A0/cgi-bin/searchPublic.pl?bereich=womo&top=241&" CLASS="small"><FONT COLOR="#333333" CLASS="small">letzte Seite</FONT></A></nobr></td>
Das besondere An dieser Zeile ist der Text "letzte Seite" und der Parameter
top=241 der mir angibt mit welchem Parameter die letzte Seite geladen wird.
Nun zu meinem eigentlichen Problem: wie extrahiere ich die top=241
Oder gibt es gar eine Moeglichkeit alle (relevanten) Seiten am Stueck
herunterzuladen
Anbei mein draft-Code :
---------------------------------------------------------------------------------
#!/usr/bin/perl -w
#!/usr/bin/perl -MLWP::Simple -e "getprint 'http://$ARGV[0]'" > $file
#use strict;
use warnings;
use LWP::Simple;
#use LWP::UserAgent;
my $i=1;
### http://www.mobile.de/SID.hWVIki2L-c...zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2
#'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_model=&doSearch.x=38&doSearch.y=16&sr_priceFrom=-2&sr_priceTo=-2&sr_mileageFrom=-2&sr_mileageTo=-2&sr_registrationDateFrom=-2&sr_registrationDateTo=-2&sr_category=-2&sr_powerRange=-2&sr_color=-2&sr_engineType=-2&sr_country=-2&sr_zip=&sr_zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2&sr_make=400&top=241',
foreach my $url (
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_model=&doSearch.x=38&doSearch.y=16&sr_priceFrom=-2&sr_priceTo=-2&sr_mileageFrom=-2&sr_mileageTo=-2&sr_registrationDateFrom=-2&sr_registrationDateTo=-2&sr_category=-2&sr_powerRange=-2&sr_color=-2&sr_engineType=-2&sr_country=-2&sr_zip=&sr_zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2&sr_make=400',
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_model=&doSearch.x=38&doSearch.y=16&sr_priceFrom=-2&sr_priceTo=-2&sr_mileageFrom=-2&sr_mileageTo=-2&sr_registrationDateFrom=-2&sr_registrationDateTo=-2&sr_category=-2&sr_powerRange=-2&sr_color=-2&sr_engineType=-2&sr_country=-2&sr_zip=&sr_zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2&sr_make=700',
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_model=&doSearch.x=38&doSearch.y=16&sr_priceFrom=-2&sr_priceTo=-2&sr_mileageFrom=-2&sr_mileageTo=-2&sr_registrationDateFrom=-2&sr_registrationDateTo=-2&sr_category=-2&sr_powerRange=-2&sr_color=-2&sr_engineType=-2&sr_country=-2&sr_zip=&sr_zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2&sr_make=1000',
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_make=400&top=241'
) {
#my $html = get ("$url")
#or die "Couldnt get ist\n";
#$html =~ m{letzte Seite};
#print "$html\n";
my $file =$ARGV[0] || die "Filename angeben !\n";
my $status = getstore( $url, "$file-$i.html" );
$i=$i+1;
}
#my $status = get "http://$url" > $file.html;
--------------------------------------------------------------------
Dank im Voraus
ich moechte von mobile.de alle Angebote von best. Marken (zB Adria Wohnwagen)
downloaden. Auf einer Seite sind immer 20 Angebote ausgegeben. An die jeweils
naechsten 20 Angebote komme ich indem der Parameter &top=21 mitgegeben wird:
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_make=400&top=21',
Auf jeder Seite befindet sich eine Zeile die in etwa so aussieht
<td height=14 valign="top" class=small><nobr><A onmouseover="window.status = 'letzte Seite'; return true;" onmouseout="window.status='';" HREF="http://www.mobile.de/SID1ahNXjaxupyK6DR2bJj0Iw-t-vaNexlCsAsK%F3P%F3R~BmSB10LsearchPublicJ1067436348A1LsearchPublicIMotorhomeY-t-vctpLtt~BmPA1A1B20C242X-t-vMk_xsO~BSRA6C400A0A0/cgi-bin/searchPublic.pl?bereich=womo&top=241&" CLASS="small"><FONT COLOR="#333333" CLASS="small">letzte Seite</FONT></A></nobr></td>
Das besondere An dieser Zeile ist der Text "letzte Seite" und der Parameter
top=241 der mir angibt mit welchem Parameter die letzte Seite geladen wird.
Nun zu meinem eigentlichen Problem: wie extrahiere ich die top=241
Oder gibt es gar eine Moeglichkeit alle (relevanten) Seiten am Stueck
herunterzuladen
Anbei mein draft-Code :
---------------------------------------------------------------------------------
#!/usr/bin/perl -w
#!/usr/bin/perl -MLWP::Simple -e "getprint 'http://$ARGV[0]'" > $file
#use strict;
use warnings;
use LWP::Simple;
#use LWP::UserAgent;
my $i=1;
### http://www.mobile.de/SID.hWVIki2L-c...zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2
#'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_model=&doSearch.x=38&doSearch.y=16&sr_priceFrom=-2&sr_priceTo=-2&sr_mileageFrom=-2&sr_mileageTo=-2&sr_registrationDateFrom=-2&sr_registrationDateTo=-2&sr_category=-2&sr_powerRange=-2&sr_color=-2&sr_engineType=-2&sr_country=-2&sr_zip=&sr_zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2&sr_make=400&top=241',
foreach my $url (
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_model=&doSearch.x=38&doSearch.y=16&sr_priceFrom=-2&sr_priceTo=-2&sr_mileageFrom=-2&sr_mileageTo=-2&sr_registrationDateFrom=-2&sr_registrationDateTo=-2&sr_category=-2&sr_powerRange=-2&sr_color=-2&sr_engineType=-2&sr_country=-2&sr_zip=&sr_zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2&sr_make=400',
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_model=&doSearch.x=38&doSearch.y=16&sr_priceFrom=-2&sr_priceTo=-2&sr_mileageFrom=-2&sr_mileageTo=-2&sr_registrationDateFrom=-2&sr_registrationDateTo=-2&sr_category=-2&sr_powerRange=-2&sr_color=-2&sr_engineType=-2&sr_country=-2&sr_zip=&sr_zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2&sr_make=700',
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_model=&doSearch.x=38&doSearch.y=16&sr_priceFrom=-2&sr_priceTo=-2&sr_mileageFrom=-2&sr_mileageTo=-2&sr_registrationDateFrom=-2&sr_registrationDateTo=-2&sr_category=-2&sr_powerRange=-2&sr_color=-2&sr_engineType=-2&sr_country=-2&sr_zip=&sr_zipRadiusTo=-2&sr_sortOrder=0&sr_daysOldTo=-2&sr_make=1000',
'http://www.mobile.de/SID.hWVIki2L-c0NtGY1DBC5w-t-vaNexlCsAsK%F3P~BmSB10LsearchPublicJ1067382559A1LsearchPublicIMotorhomeS-t-vpLtt~BmPA1B20A0/cgi-bin/searchPublic.pl?_form=search&sr_make=400&top=241'
) {
#my $html = get ("$url")
#or die "Couldnt get ist\n";
#$html =~ m{letzte Seite};
#print "$html\n";
my $file =$ARGV[0] || die "Filename angeben !\n";
my $status = getstore( $url, "$file-$i.html" );
$i=$i+1;
}
#my $status = get "http://$url" > $file.html;
--------------------------------------------------------------------
Dank im Voraus