2016-07-19 11 views
0

Momentan mache ich ein Programm (in Java), das alle Streamers auf Twitch (Video-Streaming-Site) von einer gegebenen URL e.g. ergreift und sie mit Jsoup in eine Textdatei auflistet.Jsoup sieht keinen Text auf der Website

Egal, was ich versuche, es scheint, als ob ich die Namen der Streamer nicht bekommen kann. Nach einer Weile entdeckte ich, dass die Seitenquelle aus irgendeinem Grund nicht die Namen der Streamer enthält, von denen ich denke, dass sie das Problem sein könnten.

Hier ist mein Code derzeit.

public static void main(String[] args) throws IOException { 
    int i = 0; 

    PrintWriter streamerwriter = new PrintWriter("streamer.txt", "UTF-8"); 
    Document doc = Jsoup.connect(https://www.twitch.tv/directory/game/Hearthstone%3A%20Heroes%20of%20Warcraft).get(); 
    Elements streamers = doc.getElementsByClass("js-profile-link"); 

    for (Element streamer : streamers) { 
     i++; 
     System.out.println(i + "." + streamer.text()); 
     streamerwriter.println(i + "." + streamer.text()); 
    } 

    streamerwriter.close(); 
} 

Jede Hilfe würde sehr geschätzt werden.

+0

bearbeiten Sie Ihre Frage zu i nclude den Inhalt des Dokuments vor der for-Schleife - nur um zu bestätigen, ob es die erwarteten Informationen enthält - dies könnte der Grund sein, warum Ihr Code den Inhalt nicht sehen kann. – ishmaelMakitla

+0

Okay, ich habe den Code ein bisschen geändert. Danke auch für die Bearbeitung meiner Frage. – Chimichanga

+0

, weil der Teil, den Sie wollen, von lazily geladen wird. Sie sollten diese faule Anfrage wissen und diese URL durch jsoup analysieren. Bitte überprüfen Sie diese Frage aus: http://stackoverflow.com/questions/17407603/how-to-use-jsoup -in-site-das-hat-lazyload-scrolloader-js – Sarkhan

Antwort

0

Sie brauchen nicht zu Webseiten zu parsen.Beide Twitch hat eine API, um Streamer auszuwählen.

https://streams.twitch.tv/kraken/streams?limit=20&offset=0&game=Hearthstone%3A+Heroes+of+Warcraft&broadcaster_language=&on_site=1

so sollten Sie json Daten analysieren

, wenn Sie wissen wollen, warum Sie wegen faul loading.because nicht Streamer in jsoup sehen, die Sie analysieren möchten Teil ist geladen lazily.You . sollte diese faulen Anfrage wissen und diese uRL durch jsoup analysieren, die ich gefunden und schrieb bis (zucken api)

Bitte überprüfen Sie diese Frage aus: how to use Jsoup in site that has lazyload scrollLoader.js