【发布时间】:2017-01-21 21:20:16
【问题描述】:
我需要解析来自网站的数据,当我在命令行中运行它时,这个请求为我提供了我需要的 json,当我尝试将它转换为 Android 时,它不起作用:
我的要求:“curl 'http://billetterie.ctm.ma/site/select_voyages_aller?datev=21-01-2017&agen_dep=022&agen_dest=745&nbp=1&dater=21-01-2017&aller=AS&tpay=MA&q=1&_search=false&nd=1485004301429&rows=30&page=1&sidx=&sord=' -H '主机: billetterie.ctm.ma' -H '用户代理: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0' -H '接受:application/json, text/javascript, /; q=0.01' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'X-Requested-With: XMLHttpRequest' -H '引用者: http://billetterie.ctm.ma/site/get_voyages?nat=1&tov1=nat&aller=AS&ag_dep=022&ag_arr=745&datev=21-01-2017&dater=21-01-2017&nbp=1&tpay=MA&horr=non' -H 'Cookie: __utma=155676777.794288111.1468961313.1473110615.1483191519.26; __utmz=155676777.1472508246.19.2.utmcsr=billetterie.ctm.ma|utmccn=(推荐)|utmcmd=推荐|utmcct=/site/accueil_widget; SESSb32ad49581ba1927701cb25c04e30aae=VhEOkLJ2qmLrlxEW3sNRIFpnS0ZUYPGUwAyvVqui_9I; _ctm_site_session=BAh7BzoQX2NzcmZfdG9rZW4iMUJ1ZzFpN3JDdGlzaTJGZUZEY2F0SWZPK3hMOWhwWW1vSFJ5QnoyUXFWLzA9Og9zZXNzaW9uX2lkIiUwNmMxOTYxNGIzOTRmNzY2ZWY0YzkyYTVjNTc4MzQzYQ%3D%3D--59c0a57e5935d23668767649d8483155f719faf8' -H '连接:保持活动'";
我的 Java 代码是:
public static String getRequest(String url) {
StringBuffer stringBuffer = new StringBuffer("");
BufferedReader bufferedReader = null;
try {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet();
URI uri = new URI(url);
httpGet.setURI(uri);
HttpResponse httpResponse = httpClient.execute(httpGet);
InputStream inputStream = httpResponse.getEntity().getContent();
bufferedReader = new BufferedReader(new InputStreamReader(
inputStream));
String readLine = bufferedReader.readLine();
while (readLine != null) {
stringBuffer.append(readLine);
stringBuffer.append("\n");
readLine = bufferedReader.readLine();
}
} catch (Exception e) {
// TODO: handle exception
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
// TODO: handle exception
}
}
}
return stringBuffer.toString();
}
【问题讨论】:
-
它解析什么?你在哪里初始化 url 变量?
-
我在开始这个线程之前初始化了 url 变量,我发现只有标题和相同的段落而不是像我的导航器中的链接这样的表格,我希望我回答了你的问题
-
似乎数据到表中是异步加载的。如果您打开链接,您可以看到加载程序。使用 jsoup,您无需等待异步调用,因此您的表为空或尚未创建
-
是的,伙计,你是对的,所以看看我的编辑,告诉我你的想法
标签: android html parsing jsoup