使用JSOUP解析表并在webview

时间:2016-05-26 21:47:50

标签: android jsoup

如何使用 JSOUP 解析此request的响应,我需要从表中获取数据,当我查看源代码时,我发现只是一个静态html,但是如何我可以得到数据吗?

编辑:

ArrayList<String> downServers = new ArrayList<>();
    Date date = new Date();
      url = "http://billetterie.ctm.ma/site/get_voyages?nat=1&tov1=nat&aller=AS&ag_dep=001&ag_arr=002&datev=29-05-2016&dater=29-05-2016&nbp=1&tpay=MA&horr=non";
    String URL1 = "http://billetterie.ctm.ma/site/select_voyages_aller?datev=29-05-2016&agen_dep=001&agen_dest=002&nbp=1&dater=29-05-2016&aller=AS&tpay=MA&q=1&_search=false&nd="+date.getTime()+"&rows=30&page=1&sidx=&sord=";

    Document doc = null;
    try {
        response = Jsoup.connect(url).timeout(10000).method(Connection.Method.GET).execute();
        Map<String, String> cookies = response.cookies();
        doc = Jsoup.connect(URL1).timeout(10000).cookies(cookies).get();
        ;
    } catch (IOException e) {
        e.printStackTrace();
    }

1 个答案:

答案 0 :(得分:0)

  1. MainPage发送GET个请求。响应包含cookie - 保存它。另请记住使用浏览器的user agent字符串,这样您将获得与浏览器相同的响应。
  2. 使用第1阶段的Cookie和所有参数向GET发送http://billetterie.ctm.ma/site/select_voyages_aller个请求 -
      

    DATEV = 26-05-2016
      agen_dep = 001
      agen_dest = 002
      NBP = 1
      达特= 26-05-2016
      阿列尔= AS
      泰国电子钱包= MA
      Q = 1
      _search =假
      ND = 1464315650186
      行= 30个
      页面= 1个
      SIDX =
      sord =

  3. 您必须根据自己的需要确定每个参数的含义并进行更改。这将为您提供第一张桌子。

    1. 对于第二个表格,使用Cookie和以下参数向GET发送http://billetterie.ctm.ma/site/select_poar_aller个请求 -
        

      DATEV = 26-05-2016
        agen_dep = 001
        agen_dest = 002
        NBP = 1
        达特= 26-05-2016
        阿列尔= AS
        Q = 1
        _search =假
        ND = 1464315650212
        行= 30个
        页面= 1个
        SIDX =
        sord =

    2. 我怎么知道?打开浏览器的开发者工具(F12)并观看网络流量 - 您将看到3个GET请求。第一个请求为您提供了视图cookie(它也为您提供了页面本身,但您不需要它),另外两个包含表格。