jsoupを軽く使ってみた件
例えば
HTMLソースからあのURLを取りたい!
という時どうするか。
いろいろ方法はあると思います。
textで一行ずつ読むとか
でもデバッグした時1行ずつ見られたら結構大変w
ってことでこのサイトを参考にしました。
<html> <head></head> <body> <div id="sample1"> <button data-action="apply" class="button">Apply</button> <button data-action="clear" class="button">Clear</button> <button data-action="download" class="button">Download</button> <a href="http://hoge/MoChiwaki">Mochiwaki </a> <a href="http://huga/Mochiwaki">dummy</a> </div> <div id="sample2"> <button class="button">Apply</button> <button class="button">Clear</button> <button class="button">Download</button> <a href="http://hoooge/MoChiwaki">Mochiwaki2 </a> <a href="http://huuuga/Mochiwaki">dummy</a> </div> </body> </html>
私はjsoupを使って書いてみましたー
/** * sample1のなかのMoChiwakiのURLを探すメソッド * * @param url * @return MoChiwakiのURL。 なければnull * @throws IOException */ String getUrlOfMoChiwaki(String url) throws IOException { org.jsoup.nodes.Document document = Jsoup.connect(url).get(); org.jsoup.nodes.Element div = document.getElementById("sample1"); if (div != null) { Elements aTag = div.getElementsByTag("a"); for (org.jsoup.nodes.Element elements : aTag) { if (elements.text().contains("MoChiwaki") { return elements.attr("href"); } } } return null; }
まずURLをもらってきてー
Elementでdivタグのsample1を取ってきてー
その中からaタグを取ってきてー
その中からMoChiwakiって書いてある所を探してー
URLだけ取ってくるっていう感じ!