2012-10-31 49 views
0

我今天開始用JSoup寄情。所以作爲一個例子,我開始從這個site刮取代理。更好的方法來與Jsoup刮

玩了很多之後,我能夠抓取代理,但沒有他們的端口號,因爲他們正在使用JavaScript。我想知道我們是否可以用JSoup來挖掘這些端口號。由於這是我第一次嘗試,我想知道我採取的方法是否正確。所以我發佈了可以獲取代理的代碼。

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 
import org.jsoup.safety.Whitelist; 

public class ListLinks 
{ 
    public static void main(String[] args) 
    { 
     try 
     { 
      Document doc = Jsoup.connect("http://www.samair.ru/proxy/socks01.htm").get(); 
      Elements content = doc.select("table.tablelist tbody tr "); 
      for(Element com: content) 
      { 
       Element fi=com.select("td").first(); 
       String e=fi.text(); 
       String safe=Jsoup.clean(e,Whitelist.basic()); 
       System.out.println(safe); 
      } 

     } 
     catch(Exception e) 
     { 
      System.out.print("Problem"); 
     } 
    } 

} 
+0

這應該去[CodeReview](http://codereview.stackexchange.com/) – newfurniturey

回答

0

是的,你的做法是好的。

但有一件事:有沒有必要String safe=Jsoup.clean(e,Whitelist.basic());
因爲String e=fi.text();會給你一個乾淨的字符串。

+0

謝謝,但我可以刮端口沒有從該網址,我認爲使用javascript.Also可以使用jsoup刮使用Ajax和JavaScript的網站?例如。我可以從這個網頁的網站刮代理:[鏈接](http://www.hidemyass.com/proxy-list/) – user1788048

+0

不幸的是JavaScript不是由Jsoup支持。但是您可以嘗試[ScriptEngine](http://docs.oracle.com/javase/7/docs/api/javax/script/ScriptEngine.html)以執行JavaScript。 [Here](http://metoojava.wordpress.com/2010/06/20/execute-javascript-from-java/)就是一個很好的例子。 – ollo

+0

好的,謝謝,我將看看ScriptEngine。 – user1788048