我已经搜索、搜索、阅读和测试......包括:/6557673/jsoup-cant-extract-stock-price-from-the-webpage - 这是我发现的最接近的问题,但我的观点有点不同。我正在从具有动态内容的 url 中抓取文本。只有 URL 的最后一段会有所不同,例如这里的问题编号。我的问题是,如果我输入一个不存在的页码,我会立即崩溃,例如:“应用程序已意外停止”。它记录“字符串索引超出范围 -1”,这是有道理的。
有没有办法在执行该行之前执行正则表达式 inString 检查之类的操作?
我的 url 字符串如下所示:
"http://whatever.website.com/ + dypageno + ".html";
和代码部分:
try{
doc = Jsoup.connect(srchStr).get();
if (doc == null){
Toast.makeText(this, "Could not locate", Toast.LENGTH_SHORT);
}else{
String grabbedtxt = doc.select("h1").text();
String grabbed=grabbedtxt.substring(grabbedtxt.indexOf("$"));
grabbed = "Response Today:\r \n \r \n" + grabbed + "\r \n \r \n";
et.setText(grabbed);}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
et.setText("Page not found.");
}
}
正如我所说,在使用错误的 url 之前,这可以正常工作。我尝试将 try/catch 限制为仅连接语句、不同的异常等,但无济于事。我已经剃了光头,所以我没有头发可以拔!谁能建议我在这里学习一些东西?提前致谢。