2016-07-19 2 views
0

В настоящее время я делаю программу (на Java), которая захватывает все стримеры на twitch (Vingogame streaming site) с заданного URL e.g. и перечисляет их в текстовый файл с использованием Jsoup.Jsoup не видит какой-либо текст на сайте

Однако, что бы я ни старался, похоже, я не могу получить имена стримеров. Через некоторое время я обнаружил, что источник страницы по какой-то причине не содержит имена стримеров, которые, я думаю, могут быть проблемой?

Вот мой код в настоящее время.

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(); 
} 

Любая помощь была бы принята с благодарностью.

+0

Пожалуйста, измените свой вопрос я nclude содержание документа перед циклом for-loop - просто для подтверждения, содержит ли он ожидаемую информацию - это может быть причиной того, почему ваш код не видит контент. – ishmaelMakitla

+0

Хорошо, я немного изменил код. Также спасибо за редактирование моего вопроса. – Chimichanga

+0

потому что эта часть, которую вы хотите, загружается lazily.You должен знать этот ленивый запрос и разобрать этот URL-адрес jsoup. Пожалуйста, проверьте этот вопрос: http://stackoverflow.com/questions/17407603/how-to-use-jsoup -in-site-that-have-lazyload-scrollloader-js – Sarkhan

ответ

0

Вам не нужно анализировать веб-страницу. Потому что у twitch есть api для выбора стримеров.

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

поэтому вы должны анализирующие данные JSON

если вы хотите знать, почему вы не видите кос в jsoup из-за ленивого loading.because, что часть, которую вы хотите, чтобы разобрать загружен lazily.You . должны знать, что ленивый запрос и разобрать, что URL-адрес с помощью jsoup, который я нашел и написал (подергивание апи)

Пожалуйста, проверьте этот вопрос из: how to use Jsoup in site that has lazyload scrollLoader.js

Смежные вопросы