INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Webseitenabfrage



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.12.2011, 14:24
Beitrag #1

zwerg123 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Dec 2011

2009
-
EN



Webseitenabfrage
Hallo liebe LabVIEWFORUM-Gemeinde,

ich würde gerne ein Programm erstellen, dass es mir ermöglicht einen char-string an eine Webseite, wie z.B. amazon zu schicken und mir dann ein Ergebnis, wie z.B. den Preis des bei amazon angebotenen Produkts zurück gibt.
Erstaml geht es mir darum eine Webseite anzusteuern, also wie z.B. die der Wetterstation meiner Uni um mir dann die Werte in meinem Vi ausgeben zu lassen.

Ich habe schon ziemlich lange nach Beispielen oder Anleitungen gesucht, leider bis jetzt noch nichts passendes gefunden,ich glaube mir fehlt da das passende Schlagwort.

Ich würde mich sehr freuen, wenn mir jemand Tipps geben könnte, nach was ich da genau suchen muss, bzw. wo ich Informationen dazu finde.

Vielen Dank

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.12.2011, 16:07
Beitrag #2

gentos Offline
LVF-Grünschnabel
*


Beiträge: 46
Registriert seit: Dec 2011

2011
2007
DE

41462
Deutschland
RE: Webseitenabfrage
Wie Du das genau hinkriegen willst/kannst weiß ich leider auch nicht. Als Ansatz kann ich dich nur auf die LabVIEW-Module unter Datenkommunikation -> Protokolle -> HTTP Client verweisen. Mit diesen Modulen kannst du, unter Eingabe einer URL, Server ansprechen (Daten senden und Daten empfangen).
Du kannst dir somit natürlich den gesamten html Code einer Seite als String in LabVIEW anzeigen lassen.

Jetzt kommt der spannende Teil:

Du willst eigentlich, um es auf den Punkt zu bringen, einen web Browser programmieren.
Entweder du begrenzt dein Programm auf eine bestimmte Sache wie z.B. Wetterabfrage von einer konkreten Seite und baust ein Filter, das Dir dann die Wetter-Info aus dem empfangenen html-Code zusammensucht oder Du beschäftigst dich ausführlich mit dem gesamten Thema indem Du dem unter der Hilfe, zu einem vi der oben beschriebenen vi-Gruppe angegebenen link, auf http://www.w3.org folgst um dort nachzuvollzieen, welche Daten du an den Server senden musst um bestimmte Antworten zu erhalten und vor allem wie du die Antworten interpretierst (sorry für den besch... Satz).

Das Thema ist mit Sicherheit nicht uninteressant und ich hoffe jemand kann Dir mehr helfen als ich.

Auf jeden Fall freue ich mich auf einen Bericht von dir, wenn du es geschaft hast.

Viel Erfolg!
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.12.2011, 16:42
Beitrag #3

gentos Offline
LVF-Grünschnabel
*


Beiträge: 46
Registriert seit: Dec 2011

2011
2007
DE

41462
Deutschland
RE: Webseitenabfrage
Sorry, den Inhalt der Seite bekommst du über: Konnektivität -> Internet -> URL Client
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.12.2011, 12:23
Beitrag #4

zwerg123 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Dec 2011

2009
-
EN



RE: Webseitenabfrage
Hallo Gentos,
vielen Dank für deine Tipps. URL-Client war das Zauberwort, dass mir gefehlt hat. Darauf hin bin ich nun auf diesen Thread gestoßen, der mich fürs Erste mit allem Wissenswerten versorgt hat. http://www.labviewforum.de/archive/index...656-1.html Leider ist dazu das Internet-Toolkit nötig, was jetzt meine Projektzeit auf 1 Monat verkürzt. Allerdings wird dort auch noch eine Methode erwähnt, mit Hilfe derer man einen URL-Client mittels Data Sockets erstellen kann. Damit werd ich mich bei Gelegenheit auch noch auseinandersetzen, bin ziemlicher LV-Anfänger.

Leider sind die Ergebnisse bei den von mir angewählten Seiten utf-8 verschlüsselt, da werd ich jetzt als nächstes erst eine Methode zum entschlüsseln basteln müssen. Mal schauen was bei rum kommt.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.12.2011, 12:50
Beitrag #5

gentos Offline
LVF-Grünschnabel
*


Beiträge: 46
Registriert seit: Dec 2011

2011
2007
DE

41462
Deutschland
RE: Webseitenabfrage
Danke für die Rückmeldung!

Freut mich dass Du fündig geworden bist. Wär echt cool wenn du irgendwann deinen Ansatz postest.

Viel Erfolg!
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2011, 15:10
Beitrag #6

zwerg123 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Dec 2011

2009
-
EN



RE: Webseitenabfrage
Liebe LabVIEW-Gemeinde,

nachdem sich UTF-8 Entschlüsselung als Nonsense herausgestellt hat. Habe ich mich weiter durchgewurstelt und stehe nun vor folgendem Szenario:

Im html code der Seite die ich auslesen möchte befindet sich die Zeile:
PHP-Code:
</object></div><span id=result_box class="short_text"></span></div
in der sich mein gesuchter Wert befindet. Um diesen auslesen zu können habe ich nun mehrere Methoden, programmiert in Java oder VisualBasic, gefunden.

Fragen: Kann ich eine solche Abfrage auch direkt aus LabView tätigen?
Wenn nein, wie könnte ich den Code dann am besten in LabView implementieren?

Würde mich freuen, wenn dazu jemand was posten könnte.

Gruß

Methode Java:
http://de.selfhtml.org/javascript/objekt...ment_by_id
http://de.selfhtml.org/javascript/objekt...irst_child
http://de.selfhtml.org/javascript/objekte/node.htm#data

Methode Visual Basic:
Code:
Imports System.Net

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Neuen Webclient deklarieren
        Dim w As New WebClient
        'Quelltext downloaden => String
        Dim quelltext As String = w.DownloadString("http://www.web.de")
        'Wert filtern
        Dim WertRegex As New System.Text.RegularExpressions.Regex("<span>(?<Wert>(.*))</span>")
        'Wert mit hilfe von Pattern im Quelltext suchen => auswerten
        Dim Wert As String = WertRegex.Match(quelltext).Groups("Wert").ToString()
'Als Beispiel in richtextbox ausgeben:
        RichTextBox1.Text = Wert
    End Sub
End Class
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.12.2011, 15:19
Beitrag #7

snuz Offline
LV-Eumel
**


Beiträge: 245
Registriert seit: Mar 2009

2011
2008
EN


Deutschland
RE: Webseitenabfrage
Du könntest einmal ein Browser in LabView programmieren =) oder Du nutzt die WinAPI. Damit kann man Fensterinhalte auslesen oder den Fenstern Werte übergeben. In deinem vorherigen Post steht ja schon isChild, Objekt...byID (HandleID), damit kann man alle Windows auslesen. Zu finden sind diese Funktionen in der user32.dll und erklärt werden diese unter msdn.com.

Gruß snuz

Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.

http://www.techniker2013.eu
http://www.plapilab.de
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.12.2011, 12:25
Beitrag #8

unicorn Offline
LVF-Freak
****


Beiträge: 680
Registriert seit: Jul 2009

8.6.1, 2010 - 2012
1994
EN

10xxx
Deutschland
RE: Webseitenabfrage
Die Geschichte mit dem Fensterauslesen ist im weitesten Sinne nur ein Workaround für das Internettoolkit und rechnet sich nicht.

Eine HTML-Seite, die auf dem Rechner in einer Datei liegt, kannst Du als Text-Datei öffnen und nach den gewünschten Strings durchsuchen.

Die HTTP-Client-VIs sind laut meiner Hilfe (Lv10) im Base-Package enthalten. Damit sollte es möglich sein, eine Web-Seite zu empfangen. Erfahrung habe ich damit allerdings noch keine.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.12.2011, 08:18
Beitrag #9

gentos Offline
LVF-Grünschnabel
*


Beiträge: 46
Registriert seit: Dec 2011

2011
2007
DE

41462
Deutschland
RE: Webseitenabfrage
So,

hab mal auf die schnelle zwei VI's zusammengeklickt. Beide benötigen das Internet Toolkit nicht.
Das hier:

9.0 .vi  HTMLsearchCMD.vi (Größe: 18,17 KB / Downloads: 393)

ist dazu da, um den HTML-Code einer Seite zu lesen und daraus den Inhalt eines Tags (so heißen glaub ich die Befehle in HTML) zu extrahieren. Als Standardwerte sind dabei der String: <img src" und der String " eingetragen. Dies ist der Befehl für das einbinden von Images (JPEG, PNG ...). Somit gibt das VI alle (oder die vorgegebene Anzahl)
Links zu den auf der Seite verfügbaren Grafiken. Wählt man also für Start und Stop String andere HTML Tags, sollte dann auch die entsprechende Info rausgefiltert werden können.

Dieses VI:

9.0 .vi  HTMLsearchANCHOR.vi (Größe: 17,34 KB / Downloads: 291)

sucht nach dem sogenannten Anker. Es ist in HTML so eine Art Stammverzeichnis. Die Links mancher Grafiken werden relativ zu dem Anker angegeben und müssen, um auf sie zugreifen zu können, an den Anker angehängt werden.

Getestet habe ich das mit der Seite http://www.labviewforum.de und irgend einem Thread. Dabei bekam ich die links alle Grafiken heraus (LabVIEW Logo, Die Flaggen der User...) nur um die Links für die Avatare der User zu erhalten, brauchte ich den erwähnten Anker.

Super übersicht zu den HTML-Tags findet man auf html-seminar.de

Sollte jemand die VI's weiterverarbeiten wollen, bitte das Ergebnis hochladen und teilen;-)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.02.2012, 23:15
Beitrag #10

zwerg123 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Dec 2011

2009
-
EN



RE: Webseitenabfrage

Akzeptierte Lösung

Hallo Leute,

nachdem mein Projekt jetzt schon seit knapp einem Monat im Kasten ist, wollte ich mich noch bei euch allen recht Herzlich bedanken. Ihr habt mir sehr viel weiter geholfen, auch wenn mich nicht alles zum Ziel geführt hat, so habe ich doch jede Menge gelernt. Vielen Dank dafür.

Lohn der ganze Mühe ist nun ein Programm, dass es einem ermöglicht, markierte Wörter durch drücken der Shift-Taste von einer Sprache in eine Andere zu übersetzen (mittels google-translate) und das Ergebnis mittels Pop-Up erscheinen zu lassen ohne den Arbeitsfluss dafür unterbrechen zu müssen.

Dazu hab ich einen Webbrowser programmiertWink Wie es funktioniert seht Ihr bei Interesse bestimmt besser, als das ich es beschreiben kann.

@gentos ich habe deine Methode zum suchen von Strings eingefügt verdoppelt und in T-Rex umbenannt, hoffe das ist Ok.

Gruß


11.0 .vi  first final 0.9.vi (Größe: 64,82 KB / Downloads: 504)


11.0 .vi  T-Rex1.0.vi (Größe: 19,33 KB / Downloads: 353)
sub Vi.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: