/6557673/jsoup-cant-extract-stock-price-from-the-webpage を含め、検索して検索して読んでテストしました - これは私が見つけた最も近い問題ですが、私の見方は少し異なります。動的コンテンツを含む URL からテキストをスクレイピングしています。ここでは質問番号で行われているように、URL の最後のセグメントのみが異なります。私の問題は、存在しないページ番号を入力すると、「アプリケーションが予期せず停止しました」などの即時クラッシュが発生することです。意味のある「String index out of range -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 を connect ステートメントのみ、さまざまな例外などに制限しようとしましたが、役に立ちませんでした。もう坊主頭だから抜く毛がない!ここで何かを学ぶことを提案できる人はいますか? 前もって感謝します。