2012-02-14 48 views
1

示例程序:列表鏈接示例程序參數

本示例程序演示瞭如何從URL中獲取頁面;提取鏈接,圖像和其他指針;並檢查他們的網址和文字。

指定要作爲程序唯一參數獲取的URL。

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; 

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; 
    } 
} 

如何指定程序的唯一參數?我是初學者,所以不要打我。 :)

+0

你是問如何在價值觀傳遞給字串[] args上無效的主要? – JohnFx 2012-02-14 16:09:29

回答

4

這是Java,因此,當您運行它時,只需將URL作爲參數傳遞即可。例如:

java -jar MyJar.jar http://google.com/ 

在你還沒有打包成一個JAR的情況下,那麼它的更簡單:

java MyClass http://google.com/