【发布时间】:2016-10-02 17:28:04
【问题描述】:
下面是我的代码。请转到我正在解析的webpage。我想提取“德里负载”和“频率”。使用substring 我正确地得到了“delhi load”,但是在频率的情况下我失败了,因为字符串的位置有时会改变。因此,我得到以下结果:
50.05 或 50.0<
因为有时十进制值会产生问题。
class parsepage extends AsyncTask<String,Void,String> {
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
TextView textView=(TextView) findViewById(R.id.txtload);
Log.d("test",parseddata);
textView.setText(parseddata);
}
@Override
protected String doInBackground(String... params) {
org.jsoup.nodes.Document doc;
try {
doc= Jsoup.connect("http://www.delhisldc.org/DynamicData.aspx").get();
Element element=doc.getElementById("LblLoad");
Element element1=doc.getElementById("LblFrequency");
Element element2=doc.getElementById("LblMaxToday");
delhiload=element.toString().substring(95,99);
delhifreq=element1.toString().substring(100,105);
delhimaxload=element2.toString().substring(99,104);
parseddata="Delhi Load:"+delhiload+System.getProperty ("line.separator")+"Frequency:"+delhifreq+System.getProperty ("line.separator")+"Max Load:"+delhimaxload;
}
catch (IOException e){
e.printStackTrace();
}
// this.publishProgress(parseddata);
return parseddata;
}
}
【问题讨论】:
-
please goto webpage that i am parsing哪个网页的链接在哪里?您从网页中获取的数据是什么,是否看到浏览器控制台中呈现的 html? -
这个问题的答案是否完整?然后请在 cmets 中标记答案或发布后续问题(请参阅stackoverflow.com/help/someone-answers)。
标签: java android web-scraping jsoup