Dimitri Rettig: LWP::Simple::get funktioniert nicht bei allen urls

  1. Hi,

    aus irgendeinem Grunde liest get "http://search.ebay.de/search/search.dll?x=0&y=0&MfcISAPICommand=GetResult&krd=1&ht=1&shortcut=4&SortProperty=MetaEndSort&cgiurl=http%3A%2F%2Fcgi.ebay.de%2Fws%2F&maxRecordsPerPage=50&st=2&ebaytag1code=77&query=perl den Stream aus, get "http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=perl&btnG=Suche&meta=" gibt hingegen nur "" zurück. Woran könnte es liegen?

    getprint liefert mir bei der Google-Adresse einen 403 Forbidden. Google mag es anscheinend nicht, wenn ein Bot direkt Suchergebnisse aufruft.

    ortenau-s-bahner

    --
    ss:} zu:$ ls:} fo:| de:] va:) ch:? sh:( n4:# rl:? br:> js:| ie:( fl:{ mo:)
    1. Hallo,

      und wie kann ich das Umgehen? Eine Subklasse von UserAgent bilden?

      Mit freundlichen Grüßen
         Dimitri Rettig

      1. Hi,

        und wie kann ich das Umgehen? Eine Subklasse von UserAgent bilden?

        Natürlich kommt jetzt erst mal der obligatorische Hinweis, dass Google sicherlich seine Gründe hat, in bestimmten Bereichen keine Bots zuzulassen und du das respektieren solltest.

        Wenn du dennoch Bot-en willst, kannst du über Socket eine Verbindung aufbauen. Da kannst du dann als UA-Kennung schicken, was du willst. Hab so was auch mal ausprobiert, weil http://reiseauskunft.bahn.de ähnlich empfindlich ist. Einfach Verbindung auf Port 80 herstellen und dann mit GET die Datei abrufen. Für Details hilft hoffentlich http://www.w3.org/Protocols/rfc2616/rfc2616.html
        Ob dir UserAgent weiter hilft, weiss ich nicht, IIRC zieht der schon den Schwanz ein, wenn er über robots.txt abgeblockt wird.

        HTH

        ortenau-s-bahner

        --
        ss:} zu:$ ls:} fo:| de:] va:) ch:? sh:( n4:# rl:? br:> js:| ie:( fl:{ mo:)