私は JSOUP にはかなり慣れていませんが、Element.select をタグまたは ID 値で使用して解析する際に問題はありませんでした。私が抱えている問題は、ページ内のスクレイプ JavaScript コードをスクリーニングする方法です。ここで私はドキュメントをロードします:
Document doc = Jsoup.connect(pageUrl)
.userAgent(Agent)
.timeout(5000)
.get();
抽出しようとしているJavaScriptフィールドの値は次のとおりです。
arrayGPSLocation["0"] = "-19473982376,6848295867";
arrayGPSLocation["1"] = "-19473982376,6848296245";
これらの配列値は標準コード タグ <> に含まれていないため、JSOUP はこれを行う適切な方法ですか? 私は JSOUP の API が好きです。他の唯一の方法は、文字列ルーチンを一緒にハックすることです...つまり:
int start = pageBuffer.indexOf("arrayGPSLocation[\" + counter + \"]");
int end = pageBuffer.indexOf(";");
String result = pageBuffer.subString(start,end);
この疑似コードの例では、大きなページを解析するときに重大なパフォーマンスの問題が発生します。JSOUPでこれを達成する方法を知っている人はいますか、それとも自分のスクレーパーを書くべきですか?