• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] HTML Element über Javascript auslesen und überprüfen, ob bestimmtes Wort drin steht

Aless

New member
Hallo zusammen :),

Ich sitze da schon seit gestern Abend dran und weiß einfach nicht wie ich das verwirklichen soll.

Ich möchte von einer externen Seite den Usernamen auslesen und überprüfen, ob in dem Usernamen ein bestimmtes Wort drin steckt.

https://steamcommunity.com/profiles/USERID

Quellcode, in dem der Namen drin steht:
HTML:
<span class="actual_persona_name">Name</span>

PS: Ausgeführt wird der Code über Nodejs

Mit freundlichen Grüßen
Aless


Edit: Lieber Moderator, das hinter dem Link ist kein Username :D
 
Zuletzt bearbeitet:

Vielen Dank! :)
Leider habe ich den Teil mit dem Bestandteil suchen nicht verstanden. Ich weiß nicht, wie ich einen Bestimmten Bestandteil, in diesem Fall den Namen, dort raushole, da sich der Name von User zu User ändert. Somit müsste ich mit den HTML Code arbeiten, also beispielsweise:
"Gib mir Name, wo "actual_persona_name" ist.
 
Ich denke, das einfachste wird sein, wenn du dir ein DOM-Modul für nodejs raussuchst und dann über eine geeignete Query das passende Element suchst.
 
Das wäre ne Idee! :D

Echt viele Dinge drin :eek: Könnt mir mit suchen? xD
 
Zuletzt bearbeitet:
@korbinian: wie er schreibt steckt der username im url und nicht im dom oder hab ich das falsch verstanden?

@Aless: dafür böte sich auch ein split() des url nach schrägstrich in ein arry an, auf dessen letztes element zugreift
 
Vielen Dank für die Antworten. Ich werde euch wenn ich zuhause bin Bescheid sagen, ob ich weiter gekommen bin :)
Der Username steckt leider nicht im Link drin, da dort die UserID steht :-/


entweder so.

oder wenn DOM:
https://www.npmjs.com/package/request
und dann mit den Linienreeder bis zu entsprechenden ziele fahren
https://www.npmjs.com/package/linereader

Retrun callback ausführen und regex .test("mein Wort") ausführen.

So in etwa.

Sieht gut aus, würde bestimmt auch machbar sein, nur weiß ich leider nicht, ob sich die Lines ändern. Ich möchte schon genau nach
HTML:
<span class="actual_persona_name">Name</span>
suchen..

Also so hatte ich mir das ungefähr gedacht:
1. Quelltext auslesen
2. nach actual_persona_name suchen und den Namen in dem Span Element in eine Variable packen
3. If Abfrage ob bestimmtes Wort in dem Namen enthalten ist

Die Abfrage ob ein bestimmtes Wort enthalten ist, schaffe ich bestimmt noch selbst. Nur Bei Schritt 1 und 2 hänge ich.. :(

Ich sende euch als Beispiel mal einen richtigen Link :)
http://steamcommunity.com/profiles/76561198038030441/
 
Zuletzt bearbeitet:
ARRRR ausrast.. Bierflasche auf Knie zerschlag... . War grade dabei auf Absenden zu klicken da friert mir mein Rechner ein:mad::mad::mad::mad:

kkapsner schrieb:
ich würde ja statt linereader die Standardbibliothek readline verwenden:
Geht auch, meinte eigentlich den linereader:
https://github.com/nickewing/line-reader
Mein Gehirn ist bei node v0.10 stehen geblieben.:p

Aless schrieb:
nur weiß ich leider nicht, ob sich die Lines ändern.
Macht nix, du itterierst einfach durch jede Zeile und wenn du actual_persona_name gefunden hast returnst du die Zeile im callback, damit hat das itterien schon mal ein ende

Das herauskristallisieren des "bestimmten Wortes geht in etwa so:
Code:
var string = "foo",
    substring = "oo";
if(string.indexOf(substring) > -1);

*Schnellversion ende
 
Wenn die Klasse aber öfters im HTML vorkommt oder das <span> über mehrere Zeilen geht (ist ja in HTML nicht verboten), funktioniert aber der Iterationsansatz nicht mehr. Wenns auf ein paar ms mehr oder weniger nicht ankommt, würde ich wirklich das DOM aufbauen und nach der Klasse suchen.
 
ich würde in dem fall auch unbedingt das dom verwenden
iteration über zeilen ist im grunde screen scraping und sollte aufgrund seiner entscheidenden nachteile m. e. unbedingt vermieden werden
 
Dann würde ich mit einem jquery Modul nur den Content holen der gebraucht wird und darin suchen.
z.B $.get() habe aber jquery noch nicht unter nodejs genutzt... macht ja auch keinen sinn gibt ja kein DOM.
Es gibt eben immer ausnahmen.
 
Dann würde ich mit einem jquery Modul nur den Content holen der gebraucht wird und darin suchen.
jQuery macht da auch nichts anderes als den kompletten Inhalt zu holen, ein DOM aufzubauen (natürlich mit Hilfe des Browsern) und dann in dem DOM zu suchen... wenn die serverseite das nicht anbietet, kann man sich einfach nicht nur Teile eines Dokuments holen.
 
Zurück
Oben