Internet-Programmierung, wie heissen solche Programme?

#1414470
Lesenswert?

Hallo,
ich habe einfache Programme geschrieben um "Daten-Kommunikation" im 
Internet zu automatisieren. Die Programmiersprache spielt weniger eine 
Rolle, ich habe Java verwendet.
Z.B. um eine bestimmte Uhrzeit loggt sich ein Programm unter einen 
bestimmten Mitgliedsname bei Ebay ein und gibt zu einer bestimmten 
Auktion ein Gebot ab.

Ich meine nicht den Low-Level Datenverkehr wie Socket-Programmierung, 
oder SSL-Zertifikate, sondern mehr z.B. das Handlen von Redirekts, 
Html-Scannen, Ausfuellen von <Form>-ularen, ...
Vieles macht wget schon (einfache Redirects, Verwalten von 
Session-Cookies, SSL).

Manchmal sind solche Programme einfach (z.B. Ebay).
Wenn die Html-Seiten viel Javascript enthalten, werden sie kompliziert. 
Man muesste JS parsen.

Gibt es einen Namen fuer solche Programme (Robots?), gibt es 
irgendwelche Freeware, Opensource von Programm-Bausteinen, um solche 
"Internet-Automatisierungen" zu programmieren?

Leider weiss ich nicht unter welchen Namen/Begriffen ich da googeln 
soll.
#1414574
Lesenswert?

Danke fuer die Vorschlaege.

Die einzige unueberwindbare Schwierigkeit erscheint mir dennoch 
Javascript.
Einfache Sachen wie
1
top.location.hr*f=new.url.de
2
oder
3
window.location.hr*f=new.url.de

kann meine Software zwar parsen, aber bei Sachen wie
1
    <script language="JavaScript" type="text/javascript">
2
      document.forms['bootOptions'].action = document.forms['bootOptions'].action + '?' + document.location.search.replace(/[?&](ibvc|imfl)=\d+/g, '').replace(/^[?&]/g, '');
3
      if (document.location.search.length > 0) {
4
        var bootOpts = document.location.search.replace(/[?&](ibvc|imfl)=\d+/g, '').replace(/^[?&]/g, '').split('&');
5
        for (var i = 0; i < bootOpts.length; i++) {
6
          var parts = bootOpts[i].split('=');
7
          var node = document.createElement('input');
8
          node.name = parts[0];
9
          node.type = 'hidden';
10
          node.value = unescape(parts[1]);
11
          document.forms['bootOptions'].appendChild(node);
12
        }
13
      }
14
    </script>

sehe ich alt aus.
#1415747
Lesenswert?

Jürgen G. schrieb:
> Leider weiss ich nicht unter welchen Namen/Begriffen ich da googeln
> soll.

Google mal nach Selenium - oder einfach http://seleniumhq.org :-)

Mittels Selenium kannst Du einen Browser "fernsteuern". Die Steuerung 
kann über verschiedene Programmiersprachen erfolgen (z.B. JavaScript, 
Java, PHP). Selenium wird i.A. zum automatisiierten Testing von 
Web-Applilationen eingesetzt und simuliert reale 
Benutzer<->Browser-Interaktion. Da Selenium direkt mit dem Browser 
interagiert (vereinfacht gesagt), stehen Dir fast alle Möglichkeiten zur 
Verfügung, die ein realer Browser bietet, z.B. Eingabe von Texten in 
Eingabezeilen, Clicks auf Buttons, Page reloads, ... JavaScript wird 
dabei natürlich auch wie gewohnt vom Browser ausgeführt :-)

Falls ich Dich richtig verstanden habe ist das genau das was Du suchst. 
Ich habe ein bisschen Erfahrung mit dem Ding, bei Interesse einfach 
Nachfragen. Ansonsten - nix für ungut, mag sein dass ich Dich falsch 
verstanden habe.

Liebe Grüße, Stephan.
Gast #1416864
Lesenswert?

Klaus schrieb:
> @ Q9: So einen hilfreichen Beitrag habe ich schon lang nicht mehr
> gesehen (ich weiss aber nicht mehr wo...!!)

So weiss er wenigstens, dass es das gibt, was er braucht. Von deinem 
Beitrag dagegen hat er null.

Gutes Stichwort fuer Javascript ist uebrigens auch "Ecmascript".
Gast #1417006
Lesenswert?

@ Peter Stegemann (pst): Ja eben, "dass es das gibt". Aber von "was er 
braucht" sehe ich nichts. Er sagt einfach, dass es eine Java 
engine/bibliothek gibt...
OK, ich bin wieder ruhig, aber das wollte ich noch los werden ;)
#1417198
Lesenswert?

Jürgen G. schrieb:
> Gibt es einen Namen fuer solche Programme (Robots?), gibt es
> irgendwelche Freeware, Opensource von Programm-Bausteinen, um solche
> "Internet-Automatisierungen" zu programmieren?

Sniper

Ein bewährtes Teil in dieser Sparte ist Biet-O-Matic.

> Leider weiss ich nicht unter welchen Namen/Begriffen ich da googeln
> soll.

Googel mal nach

    ebay+sniper
Gast #1418594
Lesenswert?

Schau Dir vielleicht auch mal DejaClick an, das kann die Bedienung von 
Webseiten aufzeichen und automatisiert wiedergeben.
Ist ein FireFox Plugin
Vielleicht kann man das ja auch zeitgesteuert hinkriegen...
#1419013
Lesenswert?

@stephanm

Danke fuer deinen Hinweis.
Richtig, ein automatischer Browser wuerde schon das machen, was ich 
will. Er kann Javascript interpretieren, Dateien abspeichern, downloads, 
...
Nachteilig bei dieser Sache ist, dass das Layout von Seiten oft aendern 
und da muss man die Click-Koordinaten nachziehen. Auch kann er nicht im 
Hintergrund laufen, da er Browser immer den (Eingabe-)Focus braucht.
Aber es ist zumindestens etwas.



Auch die anderen Sachen sind interessante Tools, ich bin immer wieder 
erstaunt.

bei
http://de.wikipedia.org/wiki/Greasemonkey
sehe ich
>viele Arten von Internetwerbung entfernen

Das waere wirklich was ganz tolles, wenn auch nicht mein 
Ursprungsanliegen.
#1419028
Lesenswert?

Es gibt ein Tool,

ltfx-0.1.6.tar.gz
http://sourceforge.net/projects/ltfx
LTFX - Linux Test For X. LTFX is a "script" based X-Windows GUI 
automation tool. Its primary purpose is to help assist with creating 
automated tests in the X environment by driving the X interface.

Damit kann man eine beliebiges X-Oberflaeche steuern (Eingaben machen, 
Menues aufrufen). Das ginge auch mit einem Browser, verlangt aber viel 
Arbeit.
#1419425
Lesenswert?

Q9 schrieb:
> http://www.google.de/search?q=Javascript+engine
> -> http://www.mozilla.org/js/spidermonkey/

Habe libmozjs-dev auf mein Debian System installiert, ein kleines 
Prograemmchen geschrieben, was ein Demo Javascript ausfuehrt.
Das Paket ist super.
Allerdings muss ich noch die DOM-Routinen schreiben, NUR der 
JS-Interpreter reicht nicht. Aber das geht in die richtige Richtung.
#1419614
Lesenswert?

> Nachteilig bei dieser Sache ist, dass das Layout von Seiten oft aendern
> und da muss man die Click-Koordinaten nachziehen.

Selenium arbeitet nicht mit Koordinaten. Um einen Click auf einen 
Button zu simulieren musst Du den Button entweder über seine ID oder 
z.B. einen XPath-Ausdruck referenzieren. Wo der Button dann sitzt ist 
Selenium völig egal. Geeignete XPath-Ausdrücke für vorhandene Controls 
lassen sich i.A. leicht mit entsprechenden Firefox-Plugins generieren.

Liebe Grüße,

Stephan

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren