Использование Jsoup для извлечения данных - PullRequest
0 голосов
/ 20 февраля 2012

Я использую jsoup для извлечения данных из таблицы на веб-сайте. http://www.moneycontrol.com/stocks/marketstats/gainerloser.php?optex=BSE&opttopic=topgainers&index=-1 с помощью Jsoup. Я упомянул Использование JSoup для извлечения содержимого таблицы HTML и другие подобные вопросы, но он не печатает данные. Может ли кто-нибудь предоставить мне код, необходимый для этого?

public class TestClass
 {


public static void main(String args[]) throws IOException
{
Document doc = Jsoup.connect("http://www.moneycontrol.com/stocks/marketstats/gainerloser.php?optex=BSE&opttopic=topgainers&index=-1").get();

    for (Element table : doc.select("table.tablehead")) {
        for (Element row : table.select("tr")) {
            Elements tds = row.select("td");
            if (tds.size() > 6) {
                System.out.println(tds.get(0).text() + ":" + tds.get(1).text());
            }
        }
    }

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Если вы хотите получить содержимое таблицы (не заголовка), вам нужно изменить селектор таблицы:

for (Element table : doc.select("table.tbldata14"))

вместо

 for (Element table : doc.select("table.tablehead"))
0 голосов
/ 14 июня 2013

Одна важная вещь - проверить, что вы получаете в Doc при разборе HTML, потому что с ним может быть несколько проблем, таких как: 1. Сайт может использовать фреймы для отображения контента 2. Отображение контента с помощью Javascript 3. на нескольких сайтах есть скрипты, которые не разрешают парсинг jsoup, поэтому элемент doc будет содержать случайные данные

...