IMDB の映画ページを調べて、名前、年などの情報を抽出するクローラーを Java で作成しています。
いくつかの (imdb) ページの html ソースを調査し、クローラーがどのように機能するかを参照した後、なんとかコードを作成することができました。
私が得る情報 (例えばタイトル) は私の母国語です。母国語に情報がない場合は、元のタイトルを取得します。私が望むのは、選択した特定の言語でタイトルを取得することです。
私はこれにかなり慣れていないので、間違っている場合は修正してください。ただし、imdb はセルビア出身であることを「認識」し、結果をカスタマイズするため、母国語で結果が得られます。つまり、基本的には、英語での結果を好むことを何らかの方法で伝える必要がありますか? それは可能ですか(私はそうだと思います)、どうすればできますか?
編集: プログラムは次のようにクロールします: 文字列で url パスを取得し、それを url に変換し、bufferedreader ですべてのソースを読み取り、取得した内容を検査します。それが正しい方法であるかどうかはわかりませんが、機能しています(言語の問題を除いて)コード:
public static Info crawlUrl(String urlPath) throws IOException{
Info info = new Info();
//
URL url = new URL(urlPath);
URLConnection uc = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
uc.getInputStream(), "UTF-8"));
String inputLine;
while ((inputLine = in.readLine()) != null){
if(inputLine.contains("<title>")) System.out.println(inputLine);
}
in.close();
//
return info;
}
このコードはページを通過し、コンソールにメイン タイトルを出力します。