我正在使用Jsoup从Godaddy的网站中提取html。我想在下面提取此特定细分。我有最终网页的特定部分,其中指出“很抱歉,采用了google.com”和HTML代码本身。
但是在我的程序中我有以下内容:
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提取这条信息吗?
答案 0 :(得分:0)
首先,您提供的网址将重定向到其他位置,因此您需要遵循重定向:
Document document = Jsoup.connect(url).followRedirects(true).get()
但是即使那样也不能解决您的问题。为了显示域是否可用,网站使用javascript从服务器获取数据。现在,此请求将失败,因为它来自未知来源。
简而言之, Pedro 是正确的,您必须使用API。