Hi Leute, Würde gern per Shellscript eine Sucheanfrage auf ner Website machen und das Resultat dann aufm rechner speichern. Genauer gesagt gehts mir um diese Seite: http://register.dpma.de/DPMAregister/marke/einsteiger Hier würde ich gerne Per shellscript nach: Wiedergabe der Marke = "Aldi" suchen. und das Ergebnis dann als html datei speichern. Jemand ne Ahnung ob das geht und wenn ja könnte mir das jm als Beispielscript coden?
Http-Request per Shellscript
Anmeldungsdatum: Beiträge: 56 |
|
||
![]() Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Das sieht nicht ganz so einfach aus. Bei dieser Seite werden die Suchergebnisse offenbar über Cookies definiert. Das heißt, Du müsstest die Cookies passend erzeugen, und dazu den richtigen Session ID zu Deiner Suchanfrage "erfinden". Also geht das so einfach nicht, Du kannst im Grunde nur die Suchseite passend abschicken und danach die dazu zurückgelieferte Listen-Seite (einschließlich Cookies) abrufen. So spontan fällt mir dazu nur ein Mausklick-Simulator ein. Sowas hatten wir schon mal z.B. hier: http://forum.ubuntuusers.de/topic/maus-bewegen/ LG, track |
||
![]() Anmeldungsdatum: Beiträge: 2505 |
Da kommt man auch ohne Mausklick-Simulator weiter, denke ich. Ist eine grauslige Seite, aber da sie bei mir (halbwegs) auch ohne JavaScript und Cookies ging, sollte es mit den Standardtools auch gehen. Session-ID besorgen und dieses komische lange Teil, was da in „t:formdata“ drinsteht, dann den Request formulieren:
Keine Ahnung, was du damit vorhast, aber es ist mal ein Anfang. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 56 |
hi, danke für die schnelle Antwort, dein Script linkt mich leider auf die falsche Seite. Hab das Script im moment einfach nur rauskopiert. Muss ich noch etwas hinzufügen damit die Suche funktioniert ? Gruß sanjin |
||
![]() Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Vain: Diese ganzen Parameter für curl fallen ja schließlich nicht aus den Wolken. Was solche http- Kommunikation angeht stehe ich nämlich immer ein bisschen wie die Kuh vor'm neuen Tor ... track |
||
![]() Anmeldungsdatum: Beiträge: 2505 |
Eigentlich nicht. Die Seite, die du dort siehst, hatte ich bei meinen Tests aber auch mehrfach gesehen – zum Beispiel dann, wenn Keine Ahnung, ich hab’s nicht bis ins kleinste Detail rekonstruiert. Die Seite ist wirklich garstig. Ich befürchte, du kommst nicht anders an diese Daten heran?
Primär hab ich den Seitenquelltext und das Vielleicht reicht das Formular als solches aber doch nicht (oder ich hab einen Fehler drin), sonst würde es bei dir, sanjin, ja gehen. Cookies oder Referer hab ich mir jetzt nicht angeschaut. |
||
![]() Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Vain: erstmal Danke für den Hinweis auf die "Formulare" ! (Selfhtml kannte ich schon ± grob, "Formulare" noch nicht) Also, heute Nachmittag hatte ich das soweit rekonstruiert, dass man erstmal die Hauptseite richtig ausfüllen muss. Dann geht die Listen-Seite auf: http://register.dpma.de/DPMAregister/marke/trefferliste ... und die kann man immer wieder abrufen, solange nur der Cookie "JSESSIONID" noch vorhanden und gültig ist. (also mindestens eine gewisse Zeit lang) Daraus schließe ich, dass man nach den "Vorbehandlungen" mit Vains Skript wahrscheinlich die Seite auch mit wget http://register.dpma.de/DPMAregister/marke/trefferliste herunterladen können müsste ... (sie steht dann in der Datei trefferliste.html) track p.s.: |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 56 |
hm, also funktioniert das script bei euch? Wie kann das sein? Muss ich in den Browser Einstellungen noch was ändern? |
||
![]() Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Hattest Du das Skript komplett markiert, mit der rechten Maustaste "kopiert" und im Editor mit der rechten Maustaste wieder "eingefügt" ? - Welchen Editor hast Du benutzt ? (nicht womöglich einen unter Win.. ?) track |
||
![]() Anmeldungsdatum: Beiträge: 5072 Wohnort: Brandenburg an der Havel |
Oft lässt sich sowas mit Lynx relativ einfach machen. Mit Damit muss man sich nicht selbst um Cookies, Formulardaten usw. kümmern, sondern nur den Suchbegriff in die Tastatureingabe-Datei eintragen (und mit lynx umgehen können). |
||
Anmeldungsdatum: Beiträge: 30 Wohnort: Niedersachsen |
Ist ja im prinzip richtig was du da schilders aber ist die suchfunktion auf der seite nicht durch cookies "fixiert" das es genau deswegen funktionier? Ich bin mir nicht ganz sicher, das müsste man echt mal mit Lynx testen denn es könnte sein das durch diese Cookie fixierte suche mit Lynx nicht wirklich weiter kommt. Wie gesagt ist nur eine vermutung! ein versuch is es definitiev wert |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 56 |
@track ja bin so vorgegangen wie du geschildert hast ;als editior nutze ich vim @diesch werd das mal mit lynx austesten >also mit lynx funktioniert das soweit, allerdings ist mein ziel mehrere suchanfragen zu schicken, die sich aus irgentwelchen algorithem berechnen lassen. Könnte zwar mit einem script das logfile verändern, aber das wäre ziemlich hässlich. Die Variante mit curl gefällt mir da deutlich besser; funktioniert aber leider nicht. Gruß sanjin¶ |
||
![]() Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
sanjin: echo curl -sL \ -F "t:formdata=$formdata" \ -F 'searchType=beginnerNew' \ -F 'wm=Aldi' \ -F 'rn=' \ -F 'bwt=' \ -F 'mf=' \ -F 'inh=' \ -F 'kla1=' \ -F 'kla2=' \ -F 'kla3=' \ -F 'wbk=' \ -F 'wdv=' \ -F 'checkbox=on' \ -F 'checkbox_0=on' \ -F 'checkbox_1=on' \ -F 'sortierSpalte=MarkenIdentifikation' \ -F 'select=aufsteigend' \ -F 'trefferProSeite=50' \ -F 'maxTreffer=500' \ -F 'str=' \ -F 'rechercheStarten=Recherche Starten' \ 'http://register.dpma.de/DPMAregister/marke/einsteiger.kopf.form;jsessionid='"$session" # > /tmp/foo.htm Kopierst Du das ganze, was dann im Terminal erscheint und postest es mal hier ? track |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 56 |
folgendes liefert der Befehl curl -sL -sLF t:formdata=H4sIAAAAAAAAANWYTWjUQBTHp6212lYs2g8QDyL10EPTbrfb1qrIYq0Uay2NVrwok+QlO24yE2dmu6uCZw/evQmCNz+u3u1BevGieBe8CqLgScFJsx+VNgvZDYUcFibv4 /8ev3mZHfL6O+ouD6HjHuZFmLhMqJBAHODzZU9wlGPc0bCPzQJoEvsgJH+Q00zGwSWGZmABWt5QRmzKRQKuNaqDLPlnbm72fR368KcTdSyjPpNRyZm7gj2Q6NjyPbyBJ1xMnQldckKdcxVfos6yF9 1EPm4Tq5yZIIReMjwiBGF08601bf9+/rEToYq/ZyFOxX30GCHVCqcREUFAd3kYDe7yGWVZS+9S66iYUGAvcc+ul/fsiIjo8oQW6uXVOiomFBhBQ7ucRRdnagoHgofIqKYaUzs1piKjmmpkd2pkI6OiYZSNYh2GWkfFNBGwNhoC1kZUTCiQQRO7nJKDbQN3 iTJAxQcuocioTRzNZcxXA601HWiTeT6jQKXQllX8aG78+t aXMfRoK5zefaiYuf3tzS/73acXbVRciVVxTfmVS5dYwiJnnh48WZdcokLWsVuC8WfvPz9Bp /5Wj5SGI9iGjuAI6V9QudRQQpha5RzKxuhZNWkWDVap7fuhmqFFnX2bjemfvj12ZfjVxZZ3Kmj1pESD14I8umQpbWKTIpbq2GyTYm /NcHdynzkGeafboDEQ0rhFwALuYAMSI5FJGYnekITNuJcYg6mUMei56mIhILnXIZsyAP35ojpaH5aSOFobFKZTRqE3Tz11uwSJncQY5FLG4MQN7CwAV3nquu2UqLNE18AJcnhiTGZSxmQkZLIOnAX hVLrELCg0iQGZTRmQniVaUP+ZyU3EXMoAHFazoCKTfCnOpgVB3BvszOTAj7k7L59eCG+w82guRkXBuCTAhY9dCTVoR6pWfdvajmIIL4sycQTABbP+NeBg+NiSRlj9PJqPkVn1+JwJIA0kR6v2Vc70 wN6eatjYLMrFkPBwpeqsz7Yy3QhNLWuFnUwiLQ5cWW+hS63jZ4dF9xorDmrmufqpixIP7kocBEjtfzPUvzQN1B166GhHdLurfzG31wbNEwAA -F searchType=beginnerNew -F wm=Aldiwm -F rn= -F bwt= -F inh= -F kla1= -F kla2= -wmF kla3= -F wbk= -F wdv= -F checkbox=on -F checkbox_0=on -F checkbox_1=on -F sortierSpalte=MarkenIdentifikationsortierSpalte -F select=aufsteigend -F trefferProSeite=50 -F maxTreffer=500 -F str= -F rechercheStarten=Recherche Starten http://register.dpma.de/DPMAregister/marke/trefferliste.kopf.form;jsessionid=DD852956A66E46B508A9C70DF4C25108.reg-app02 |
||
![]() Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Da ist ja einiges drin was da nicht hin gehört: curl -sL -sLF t:formdata=H4sIAAAAAAAAANWYTWjUQBTHp6212lYs2g8QDyL10EPTbrfb1qrIYq0Uay2NVrwok+QlO24yE2dmu6uCZw/evQmCNz+u3u1BevGieBe8CqLgScFJsx+VNgvZDYUcFibv4 /8ev3mZHfL6O+ouD6HjHuZFmLhMqJBAHODzZU9wlGPc0bCPzQJoEvsgJH+Q00zGwSWGZmABWt5QRmzKRQKuNaqDLPlnbm72fR368KcTdSyjPpNRyZm7gj2Q6NjyPbyBJ1xMnQldckKdcxVfos6yF9 1EPm4Tq5yZIIReMjwiBGF08601bf9+/rEToYq/ZyFOxX30GCHVCqcREUFAd3kYDe7yGWVZS+9S66iYUGAvcc+ul/fsiIjo8oQW6uXVOiomFBhBQ7ucRRdnagoHgofIqKYaUzs1piKjmmpkd2pkI6OiYZSNYh2GWkfFNBGwNhoC1kZUTCiQQRO7nJKDbQN3 iTJAxQcuocioTRzNZcxXA601HWiTeT6jQKXQllX8aG78+t aXMfRoK5zefaiYuf3tzS/73acXbVRciVVxTfmVS5dYwiJnnh48WZdcokLWsVuC8WfvPz9Bp /5Wj5SGI9iGjuAI6V9QudRQQpha5RzKxuhZNWkWDVap7fuhmqFFnX2bjemfvj12ZfjVxZZ3Kmj1pESD14I8umQpbWKTIpbq2GyTYm /NcHdynzkGeafboDEQ0rhFwALuYAMSI5FJGYnekITNuJcYg6mUMei56mIhILnXIZsyAP35ojpaH5aSOFobFKZTRqE3Tz11uwSJncQY5FLG4MQN7CwAV3nquu2UqLNE18AJcnhiTGZSxmQkZLIOnAX hVLrELCg0iQGZTRmQniVaUP+ZyU3EXMoAHFazoCKTfCnOpgVB3BvszOTAj7k7L59eCG+w82guRkXBuCTAhY9dCTVoR6pWfdvajmIIL4sycQTABbP+NeBg+NiSRlj9PJqPkVn1+JwJIA0kR6v2Vc70 wN6eatjYLMrFkPBwpeqsz7Yy3QhNLWuFnUwiLQ5cWW+hS63jZ4dF9xorDmrmufqpixIP7kocBEjtfzPUvzQN1B166GhHdLurfzG31wbNEwAA -F searchType=beginnerNew -F wm=Aldiwm -F rn= -F bwt= -F inh= -F kla1= -F kla2= -wmF kla3= -F wbk= -F wdv= -F checkbox=on -F checkbox_0=on -F checkbox_1=on -F sortierSpalte=MarkenIdentifikationsortierSpalte -F select=aufsteigend -F trefferProSeite=50 -F maxTreffer=500 -F str= -F rechercheStarten=Recherche Starten http://register.dpma.de/DPMAregister/marke/trefferliste.kopf.form;jsessionid=DD852956A66E46B508A9C70DF4C25108.reg-app02 Klar antwortet er auf sowas mit einem Fehler. Jetzt ist natürlich die Frage, woher der Unsinn kommt. Irgendwas geht da übel schief, aber ich sehe noch nicht was. Womöglich hattest Du die Skriptdatei doch mal mit einem Win..-Editor bearbeitet, dass da [CR]-Zeilenden hinein geraten sind ...? track |