使用Jsoup从Godaddy提取数据

时间:2018-07-29 15:57:48

标签: java html parsing jsoup

我正在使用Jsoup从Godaddy的网站中提取html。我想在下面提取此特定细分。我有最终网页的特定部分,其中指出“很抱歉,采用了google.com”和HTML代码本身。 This is the specific section of the webpage. enter image description here

但是在我的程序中我有以下内容:

import java.io.IOException;

导入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提取这条信息吗?

1 个答案:

答案 0 :(得分:0)

首先,您提供的网址将重定向到其他位置,因此您需要遵循重定向:

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

但是即使那样也不能解决您的问题。为了显示域是否可用,网站使用javascript从服务器获取数据。现在,此请求将失败,因为它来自未知来源。

简而言之, Pedro 是正确的,您必须使用API​​。