2015-12-02 100 views

回答

0

您可以讀取iframe標記的src屬性的座標。該URL包含q參數,該參數將爲您提供用逗號分隔的座標。

package com.github.davidepastore.stackoverflow34038430; 

import java.io.IOException; 
import java.net.URL; 

import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 

/** 
* Stackoverflow 34038430 question. 
* 
*/ 
public class App { 

    public static void main(String[] args) throws IOException { 
     String url = "http://hdh.ucsd.edu/mobile/dining/locationmap.aspx?l=39"; 
     Document document = Jsoup.connect(url).get(); 
     String src = document.select("iframe").first().attr("src"); 
     URL srcUrl = new URL(src); 
     String result = getParamValue(srcUrl.getQuery()); 
     String[] coordinates = result.split(","); 
     Double latitude = Double.parseDouble(coordinates[0]); 
     Double longitude = Double.parseDouble(coordinates[1]); 
     System.out.println("Latitude: " + latitude); 
     System.out.println("Longitude: " + longitude); 
    } 

    /** 
    * Get the param value. 
    * @param query The query string. 
    * @return Returns the parameter value. 
    */ 
    public static String getParamValue(String query) { 
     String[] params = query.split("&"); 
     for (String param : params) { 
      String name = param.split("=")[0]; 
      if("q".equals(name)){ 
       return param.split("=")[1]; 
      } 
     } 
     return null; 
    } 

} 
0

您提供沒有div.place-name,因爲它是在iframe中,如果你使用Firebug檢查它這個URL。

獲取座標比較困難,因爲這個URL必須在iframe中使用。

Iframe標記具有帶標記的src標記。如果這些是cooridnates q=32.881093211,-117.2406307,您可以使用JSOUP獲取iframe,並使用自定義正則表達式提取這兩個數字。

+0

這並沒有提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 - [來自評論](/評論/低質量帖/ 10411996) – Lal

+1

我已經告訴過,提到的網址有座標,但我沒有提到,這是src標記。所以提取它們非常簡單。它甚至可以在這裏測試:http://try.jsoup.org/提到的網址。 –