jsoupでwebスクレイピングした話
超クソ記事なので真面目な使い方を期待してこのページを開いた人はブラウザバックしてください。
Mavenの設定
pom.xmlにjsoupを追加
<dependencies> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.10.2</version> </dependency> </dependencies>
適当にソースを書く
package test.scraping.tool; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class TestScrapingTool { public static void main(String[] args) { try { String baseUrl = "http://buhidoh.net"; Document document = Jsoup.connect(baseUrl).get(); Elements elements = document.select("#center .ently_outline"); for (Element element : elements) { System.out.println(element.select("h2 a").text()); System.out.println(element.select("h2 a").attr("href") + "\r"); } } catch (Exception e) { e.printStackTrace(); } } }
Jsoup.connect(baseUrl).get()でGETリクエストを投げてページを取得してる。
ちなみに.post()でPOSTリクエストも投げられるらしい。へー。
document.select("#center .ently_outline")でElementsを引っこ抜く。
この辺はJavaScriptでDOMの操作とかやったことある人ならとっつき易いんじゃないかな、知らんけど。
結果
生きててすみませんでした。