@reus

Как ускорить JSOUP для парсинга сайтов?

В общем решил попробывать парсить с помощью либы jsoup. Вот код:
package org.my.parse;

import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;

/**
 * Example program to list links from a URL.
 */
public class Parse {
	public static void main(String[] args) throws IOException {
		String url = "https://www.olx.ua/obyavlenie/novaya-kvartira-remont-2016-goda-IDn1Xw4.html#dddea08ac8;promoted";
		System.out.printf("Fetching %s...\n", url);

		Document doc = Jsoup.connect(url).get();
		String newSelector = "#offerdescription > div.clr.descriptioncontent.marginbott20 > table > tbody > tr:nth-child(2) > td:nth-child(2) > table > tbody > tr > td > strong";
		Elements links = doc.select(newSelector);
		System.out.println(links.text());
		System.out.println("End");
	}
}

Запускаю в эклипсе парсер и.. Реально очень долго парсит, использую css селектор (нужно парсить много элементов со страницы с масимально простой настройкой: chrome -> cope -> copy selector). Стоит ли попробывать использовать xpath (для использования xpath в jsoup нужно еще поставить xsoup..)?
  • Вопрос задан
  • 1036 просмотров
Решения вопроса 1
al_gon
@al_gon
Переход на XPathничего толком не изменит. Что то DOM, что это.
Я вижу два варианта:
  1. не использовать Jsoup как http библиотеку, возмите apache http или google http client
  2. и вы что-то нам не показываете. И страница и сам CSS Path не явлаются чем-то особенным. Каких-то подводных камней я не увудел.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@f9k56
Было такое. Попробуйте селектор по-другому выставить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы