2012-01-26 12 views
0

以下は、htmlスニペットの下の「test」にアクセスするためのコードスニペットです。 html内からURL https://www.google.comにアクセスするにはどうすればよいですか?href(jSoup)内のテキストを返すことができません

Elements e = doc.getElementsByAttribute("href"); 
Iterator<Element> href = e.iterator(); 
    while (href.hasNext()){ 
    Element link = href.next(); 
    String text = link.text(); 
    } 



    <a href="javascript:linkToExternalSite('https://www.google.com','','61x38pxls','','','','','')">Test</a> 

答えて

0

HREFは、あなたがJsoupの要素のattr方法でアクセスできる属性です。これにより、属性の内容全体が得られます。もちろん、URLを取得するにはパターンマッチングが必要です。

1

私はJsoupエキスパートですが、Jsoupは、javascriptタグ内のコンテンツを解析するために使用することはできませんhtmlパーサーです。

だから、あなたのアプローチはJsoupを使用して

"javascript:linkToExternalSite('https://www.google.com','','61x38pxls','','','','','')"

を抽出することでなければなりません。

コンテンツ/ URLを取得するのにregular expressionsを使用するより。

0
String html = "<a href=\"javascript:linkToExternalSite('https://www.google.com','','61x38pxls','','','','','')\">Test</a>"; 
    Document doc = Jsoup.parse(html); 
    Element e = doc.select("a[href]").first(); 
    String href = e.attr("href"); 
    String arg[] = href.split("'"); 
    String url = arg[1]; 
    // Output: 'https://www.google.com' 
    System.out.println(url); 
関連する問題