Извлечение данных из godaddy с помощью jsoup

Я использую Jsoup для извлечения HTML с веб-сайта Godaddy. Я хочу извлечь этот конкретный сегмент ниже. У меня есть как конкретный сегмент последней веб-страницы, где говорится: «Извините, google.com занят», так и сам HTML-код. Извлечение данных из godaddy с помощью jsoupИзвлечение данных из godaddy с помощью jsoup

Однако в моей программе есть следующее:

import java.io.IOException;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class test {
    public static void main(String[] args) throws IOException {
        String url = "https://www.godaddy.com/dpp/find?checkAvail=1&tmskey=&domainToCheck=google";
        Document document = Jsoup.connect(url).get();
        Element div = document.getElementById("searchResults");
        Elements spans = div.select("span");
        for (Element e: spans)
            System.out.println(e.text());
    }
}

Однако этот код выводит исключение NullPointerException. Я знаю, что JSoup не может работать с JS, но это HTML и почему-то не извлекается. Я также попытался извлечь весь HTML-код со страницы, и он не содержит этих слов.

Может ли кто-нибудь указать мне в правильном направлении или дать мне другой способ извлечь эту информацию из godaddy?

Используйте API Godaddy - developer.godaddy.com

Pedro Lobito 29.07.2018 18:10

@PedroLobito Буду благодарен.

Asker123 29.07.2018 18:38
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
55
1

Ответы 1

Прежде всего, URL-адрес, который вы предоставили, перенаправляет в другое место, поэтому вам нужно будет следовать перенаправлениям:

Document document = Jsoup.connect(url).followRedirects(true).get()

Но даже это не решит вашу проблему. Чтобы показать, доступен ли домен, веб-сайт использует javascript для получения данных с сервера. Теперь этот запрос не будет выполнен, поскольку он исходит из неизвестного источника.

Короче говоря, Педро прав, вы должны использовать API.

Не могли бы вы указать мне, как использовать API Godaddy? Я бы хотел включить его в Java.

Asker123 30.07.2018 22:49

godaddy предоставляет REST api, так что вы узнали, что это такое и как использовать их в JAVA. mkyong.com/webservices/jax-rs/…

Binayak Ghosh 01.08.2018 18:54

Другие вопросы по теме