как мне заставить работать jsoup? - PullRequest
0 голосов
/ 29 сентября 2011

Я прошел через эти биты joup, чтобы получить некоторую информацию от div:

http://jsoup.org/cookbook/extracting-data/dom-navigation

Document doc = Jsoup.connect(path).get();
Element cat = doc.getElementById("category_1");
Elements links = cat.getElementsByTag("a");
for (Element link : links) 
{
    rstring += link.attr("href");
    rstring += link.text() + "\n";
}

этот бит кода, который я написал, не работает, и я работал надэто в течение нескольких часов.

Я могу получить то, что хочу, с помощью различных функций jsoup, но мне нужно получить ссылки в этом конкретном действии, чтобы я мог заполнять и массив определенных вещей для моего приложения для Android.

я пытаюсь разобрать http://android.myfewclicks.com для тестирования и создания приложения для моего реального сайта.

любая помощь была бы замечательной.jsoup просто не будет сотрудничать.

    <table class="table_list">
        <tbody class="header" id="category_1">
            <tr>
                <td colspan="4">
                    <div class="cat_bar">
                        <h3 class="catbg">
                            <a class="collapse" href="http://android.myfewclicks.com/index.php?action=collapse;c=1;sa=collapse;c707bdb315=de9d7f201a0964cbab3d56e683507ad7#c1"><img src="http://android.myfewclicks.com/Themes/default/images/collapse.gif" alt="-" /></a>
                            <a class="unreadlink" href="http://android.myfewclicks.com/index.php?action=unread;c=1">Unread Posts</a>
                            <a id="c1"></a><a href="http://android.myfewclicks.com/index.php?action=collapse;c=1;sa=collapse;c707bdb315=de9d7f201a0964cbab3d56e683507ad7#c1">Category A</a>
                        </h3>
                    </div>
                </td>
            </tr>
        </tbody>

на моем тестовом форуме есть четыре категории.три ссылки внутри этой конкретной части - это 1 набор из 4. Если я могу понять, как адекватно их проанализировать, то я смогу сделать большой скачок в своем приложении.но jsoup ведет себя не так, как ему кажется, или я упускаю что-то очень важное.

1 Ответ

1 голос
/ 29 сентября 2011

Вам, очевидно, нужно сначала войти , чтобы получить ссылки с href.Когда я открываю сайт в своем браузере, не входя в систему, я вижу

<tbody class="header" id="category_1">
    <tr>
        <td colspan="4">
            <div class="cat_bar">
                <h3 class="catbg">
                    <a id="c1"></a>Category A
                </h3>
            </div>
        </td>
    </tr>
</tbody>

Я могу получить ссылки следующим образом:

Document document = Jsoup.connect("http://android.myfewclicks.com/").get();
Elements category1links = document.select("#category_1 a");

for (Element category1link : category1links) {
    System.out.println(category1links);
}

Какие печатные издания

<a id="c1"></a>

Обратите внимание, что здесь нет href или текста!

Jsoup не входит в систему автоматически и не принимает файлы cookie произвольного браузера, который уже установлен на вашем компьютере.Вам необходимо войти в систему и поддерживать cookie сессии самостоятельно.См. Также Отправка POST-запроса с именем пользователя и паролем и сохранение файла cookie сеанса для примера.

...