javaでjsoupを用いてwebスクレイピングを行い、新規txtファイルに保存するプログラムを作成しています。
使用している環境は
EclipseIDE Version: 2019-03 (4.11.0)
Jsoup-1.12.1.jar
です。
java
1package getInfo; 2 3import java.io.FileWriter; 4import java.io.IOException; 5import java.io.File; 6import org.jsoup.Jsoup; 7import org.jsoup.nodes.Document; 8import org.jsoup.nodes.Element; 9import org.jsoup.select.Elements; 10public class test{ 11 public static void main(String[] args) throws IOException { 12 13 try { 14 File file = new File("c:¥¥user¥¥test7.txt"); 15 16 if(!(file.exists())) { 17 FileWriter filewriter = new FileWriter(file); 18 Document document = Jsoup.connect("https://news.yahoo.co.jp/").get(); 19 Elements elements = document.select("h6"); 20 21 for (Element element : elements) { 22 String name = element.text(); 23 filewriter.write(name + "\n"); 24 System.out.println(name); 25 } 26 filewriter.close(); 27 }else { 28 System.out.println("このファイルは既に存在します"); 29 } 30 }catch(IOException e) { 31 System.out.println("Error:FileWrite"); 32 } 33 } 34} 35
このコードを実行すると、FileWriterで例外処理が発生し"Error:FileWriter"が出力されます。
System.out.println("")を挟んでチェックしたところ
java
1Document document = Jsoup.connect("https://wa3.i-3-i.info/word13663.html").get();
ここの部分で例外処理に飛んでおり、上手くWebページからHTML情報を変数に代入出来ていないようです。
色々なページで試してみましたが全て例外処理に飛んでしまいました。
調べてみたところJavaScriptを使用しているページではJsoup.connectが上手く動作しないといった記述もありましたが
よく原因がわかりませんでした。
ちなみにもう一度実行すると"このファイルは既に存在しています"と出力されますが、フォルダにはtxtファイルが作成されていませんでした。
何か原因がわかる方いらっしゃればご教示お願いしたいです。よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー