为什么 "http://www.stackoverflow.com" 没有被解析而 "http://www.javatpoint.com/java-tutorial" 被解析
Why "http://www.stackoverflow.com" is not getting parsed but "http://www.javatpoint.com/java-tutorial" is getting parsed
我正在努力学习jsoup.I的基本方法试图获得所有的hyperlinks
一个特定的网站 page.But 我使用 Whosebug link 然后,我无法在那个页面上获得所有的 hyperlinks,但在另一边当我改变它时到
javatpoint 它正在工作。
谁能解释为什么?
这是代码。
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.jsoup.*;
import org.jsoup.nodes.*;
import java.io.*;
import org.jsoup.nodes.Document;
class Repo {
// String html;
public static void main(String s[]) throws IOException {
try {
Document doc = Jsoup.connect("http://www.javatpoint.com/java-tutorial").get();
// Document doc=Jsoup.connect("http://www.whosebug.com").get();
System.out.println("doc");
// Elements link=(Elements)doc.select("span[class]");
// Elements link = doc.select("span").first();
// Elements link = (Elements)doc.select("span");
Elements link = (Elements) doc.select("a[href]");
for (Element el : link) {
// System.out.print("-");
// System.out.println(el.attr("class"));
String str = el.attr("href");
System.out.println(str);
}
} catch (Exception e) {
}
}
}
许多网站要求有效的 http 请求携带某些 headers。一个突出的例子是 userAgent header。所以例如将使用这个:
Document doc = Jsoup
.connect("http://www.whosebug.com")
.userAgent("Mozilla/5.0")
.get();
旁注:
你应该从不尝试捕获异常,然后静静地忽略可能的失败案例。至少在那里做一些日志记录 - 否则你的程序将很难调试。
我正在努力学习jsoup.I的基本方法试图获得所有的hyperlinks 一个特定的网站 page.But 我使用 Whosebug link 然后,我无法在那个页面上获得所有的 hyperlinks,但在另一边当我改变它时到 javatpoint 它正在工作。
谁能解释为什么?
这是代码。
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.jsoup.*;
import org.jsoup.nodes.*;
import java.io.*;
import org.jsoup.nodes.Document;
class Repo {
// String html;
public static void main(String s[]) throws IOException {
try {
Document doc = Jsoup.connect("http://www.javatpoint.com/java-tutorial").get();
// Document doc=Jsoup.connect("http://www.whosebug.com").get();
System.out.println("doc");
// Elements link=(Elements)doc.select("span[class]");
// Elements link = doc.select("span").first();
// Elements link = (Elements)doc.select("span");
Elements link = (Elements) doc.select("a[href]");
for (Element el : link) {
// System.out.print("-");
// System.out.println(el.attr("class"));
String str = el.attr("href");
System.out.println(str);
}
} catch (Exception e) {
}
}
}
许多网站要求有效的 http 请求携带某些 headers。一个突出的例子是 userAgent header。所以例如将使用这个:
Document doc = Jsoup
.connect("http://www.whosebug.com")
.userAgent("Mozilla/5.0")
.get();
旁注: 你应该从不尝试捕获异常,然后静静地忽略可能的失败案例。至少在那里做一些日志记录 - 否则你的程序将很难调试。