Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Wie Webspider programmieren?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Basic-01



Anmeldungsdatum: 09.11.2019
Beiträge: 5

BeitragVerfasst am: 17.11.2019, 03:49    Titel: Wie Webspider programmieren? Antworten mit Zitat

Hallo,

Ich habe auf Fiverr einen Auftrag vergeben. Es soll ein Webspider programmiert werden, der eine Website aufruft, die Links darauf sammelt, diese aufruft und das Suchformular darauf(Falls vorhanden) aufruft.
Dann soll die resultierende URL in einer Textdatei gespeichert werden, welche denn so aussieht: https://irgendeine-website.com/search?q=freebasic
Leider liefern die Programmierer nur irgend was und lesen offenbar nicht die Order... Ist jetzt schon zwei mal passiert.

Zweite Variante: Ein Webspider der sich wild und zufällig durch "das gesamte" Internet gräbt und pro Domain nur die Hauptseite aufruft und nach einem Suchformular sucht.

Um das in FreeBasic zu programmieren, was brauche ich dazu für Befehle? Ich möchte mal klein anfangen und überhaupt mal eine Webseite über BASIC aufrufen, geht das überhaupt?
_________________
EIN Tier wird auf Youtube getötet = Riesenaufschrei.
Das hier juckt aber keinen: https://live-counter.com/weltweit-getoetete-tiere/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4266
Wohnort: ~/

BeitragVerfasst am: 17.11.2019, 10:36    Titel: Antworten mit Zitat

Vor ein paar Monaten hatten wir da eine Frage im Forum - ich verweise dich mal da hin:
https://forum.qbasic.at/viewtopic.php?t=8966
(du kannst dort eigentlich gleich zur Antwort von grindstone springen)

Die gefundene Seite kannst du dann nach gewünschten Begriffen untersuchen, z. B. nach dem Muster für Internetadressen oder nach Formular-Tags. Natürlich bedeutet das Vorhandensein eines form-Tags nicht automatisch, dass ein Suchformular vorliegt - da muss dann einiges an Analysearbeit betrieben werden.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 947
Wohnort: Ruhrpott

BeitragVerfasst am: 17.11.2019, 23:26    Titel: Antworten mit Zitat

@Basic-01:

Was genau hast du vor? Solange es sich nicht um eine erkennbar illegale Aktion handelt, bin ich gerne behilflich (und das völlig kostenlos zwinkern ). Allerdings ist die Analyse von HTTP - Text alles andere als trivial.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Basic-01



Anmeldungsdatum: 09.11.2019
Beiträge: 5

BeitragVerfasst am: 23.11.2019, 08:26    Titel: Antworten mit Zitat

Hallo grindstone.
Ich habe mich schon erkundigt ob es vielleicht verboten ist einen Webspider arbeiten zu lassen, ist es aber nicht.
Ich möchte eine Seite mit z.B. 100 Links zu Shops spidern.
Das Tool soll diese 100 Links aufrufen, und falls vorhanden ein Suchformular ausfüllen und abschicken.
z.B. Suchwort: festplatte-2tb.
Die folgende URL lautet dann z.B.
https://hardware24king.de/search.php?search=festplatte-2tb

Diese URL dann in einer Textdatei speichern, das ist alles.

Habe das schon auf fiverr in Auftrag gegeben, aber es ist unglaublich was die liefern. durchgeknallt
Im Prinzip müsste das einfach sein, einfach die http-Links auszulesen, aufrufen, Suchformular ausfüllen.

Das Tool von fiverr nutzt den Chrome Webbrowser zum Aufrufen der Seiten.
_________________
EIN Tier wird auf Youtube getötet = Riesenaufschrei.
Das hier juckt aber keinen: https://live-counter.com/weltweit-getoetete-tiere/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 947
Wohnort: Ruhrpott

BeitragVerfasst am: 24.11.2019, 04:30    Titel: Antworten mit Zitat

Habe ich das richtig verstanden: Du hast eine Seite, auf der sich 100 Links zu Shops befinden, und diese Shops möchtest du der Reihe nach aufrufen und dort eine Suchanfrage abschicken?

Dazu müsstest du als ersten Schritt den Quelltext dieser Seite analysieren und herausfinden, wie du diese Links automatisch herausfischen kannst. Mit Firefox geht das folgendermassen: Du rufst die Seite auf, klickst dann mit der rechten Maustaste auf eine leere Stelle und wählst aus dem aufpoppenden Menü "Seitenquelltext anzeigen". In dem Quelltext suchst du dann nach Merkmalen, an denen sich die gewünschten Links sicher erkennen lassen.

Leider gibt es dafür keine allgemeingültigen Regeln, und wenn das Layout der Seite irgendwann geändert wird, mußt du höchstwahrscheinlich auch dein Programm umschreiben.

Sobald du eine Vorstellung davon hast, wie sich die gewünschten Links extrahieren lassen, kannst du mit dem Programmschnipsel aus dem von nemored angegebenen Link den Quelltext deiner Shopliste als String herunterladen (einfach die Adresse der Google - Startseite durch die Adresse der Shopliste ersetzen) und die Stringfunktionen von FB darauf loslassen. Dazu mehr, wenn du soweit bist.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2465
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 24.11.2019, 13:06    Titel: Antworten mit Zitat

Hinweise von mir dazu: In FreeBasic müsstest Du mehr oder weniger eine komplette HTML-Engine und das HTTP(S)-Protokoll selber implementieren. Vom Aufwand her rate ich klar davon ab.

Früher viel verwendet: Automatisierungsschnittstelle vom Internet Explorer via VBScript. Etwas Code dazu:
Code:

' Speichern mit Endung .vbs, kann mit CSCRIPT.EXE ausgeführt werden
cURL = "https://www.example.com/php/SeiteMitFormular.php"
Set oIE = WScript.CreateObject("InternetExplorer.Application")
oIE.navigate cURL
oIE.visible = 1
' Abwarten, bis die Seite vollständig geladen ist
While oIE.Busy
  Sleep 5000
Wend
' Ab hier parsern wir das HTML
Set oDoc = oIE.Document
i = 0
For Each oFrm In oDoc.forms
  WScript.Echo "Formular " & i & " Name: " & oFrm.Name & " Ziel: " & _
  oFrm.action
  j = 0
  For Each oFld In oFrm.elements
    WScript.Echo " Feld " & j & " Name: " & oFld.name & " Typ: " & _
    TypeName(oFld) & " Wert: " & oFld.value & " Typ2: " & oFld.type
    j = j + 1
  Next
  i = i + 1
Next
oIE.Quit

d.h. da kannst Du also recht einfach aus dem DOM heraus die HTML-Formulare extrahieren. Sogar Werte den Felder einfügen und dann auf den Submit-Button klicken ist möglich.

Die modernere Form (weil seit dem IE 11 diese Schnittstelle recht buggy geworden ist): Selenium. Letzteres richtet sich vornehmlich an Java-Programmierer, das Ganze hata aber dafür den Vorteil, dass es auch für Chrome, Firefox usw. geeignet ist, d.h. benutzt den Browser fürs HTTP-Protokoll, JavaScript ausführen usw. genauso.

Vielleicht fühlt sich hier ein FreeBasic-Profi nun angesprochen, eine FB-Lib zu programmieren, welche als Schnittstelle zu Selenium dient.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz