aboutsummaryrefslogtreecommitdiffstats
path: root/server/src/org/jsoup/examples/ListLinks.java
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/org/jsoup/examples/ListLinks.java')
-rw-r--r--server/src/org/jsoup/examples/ListLinks.java56
1 files changed, 56 insertions, 0 deletions
diff --git a/server/src/org/jsoup/examples/ListLinks.java b/server/src/org/jsoup/examples/ListLinks.java
new file mode 100644
index 0000000000..64b29ba107
--- /dev/null
+++ b/server/src/org/jsoup/examples/ListLinks.java
@@ -0,0 +1,56 @@
+package org.jsoup.examples;
+
+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 ListLinks {
+ public static void main(String[] args) throws IOException {
+ Validate.isTrue(args.length == 1, "usage: supply url to fetch");
+ String url = args[0];
+ print("Fetching %s...", url);
+
+ Document doc = Jsoup.connect(url).get();
+ Elements links = doc.select("a[href]");
+ Elements media = doc.select("[src]");
+ Elements imports = doc.select("link[href]");
+
+ print("\nMedia: (%d)", media.size());
+ for (Element src : media) {
+ if (src.tagName().equals("img"))
+ print(" * %s: <%s> %sx%s (%s)",
+ src.tagName(), src.attr("abs:src"), src.attr("width"), src.attr("height"),
+ trim(src.attr("alt"), 20));
+ else
+ print(" * %s: <%s>", src.tagName(), src.attr("abs:src"));
+ }
+
+ print("\nImports: (%d)", imports.size());
+ for (Element link : imports) {
+ print(" * %s <%s> (%s)", link.tagName(),link.attr("abs:href"), link.attr("rel"));
+ }
+
+ print("\nLinks: (%d)", links.size());
+ for (Element link : links) {
+ print(" * a: <%s> (%s)", link.attr("abs:href"), trim(link.text(), 35));
+ }
+ }
+
+ private static void print(String msg, Object... args) {
+ System.out.println(String.format(msg, args));
+ }
+
+ private static String trim(String s, int width) {
+ if (s.length() > width)
+ return s.substring(0, width-1) + ".";
+ else
+ return s;
+ }
+}