ウェブページのコンテンツをクロールしたい - http://www.pgmfi.org/しかし、ページにアクセスすると、ページにリダイレクトされます。http://twiki.pgmfi.org/bin/view他のウェブページにリダイレクトされるウェブページのコンテンツを取得する
jsoup
またはcrawler4j
を使用してURL(http://www.pgmfi.org/)のコンテンツをクロールしようとしましたが、次のコンテンツがあります。
Looking for PGMFI.ORG Home ? Please wait redirecting to: http://twiki.pgmfi.org
しかし、私はそのリダイレクトのWebページ(http://twiki.pgmfi.org/bin/view)からWebページに関する詳細な情報を取得したいです。 jsoup
を使って簡単なコードを実行すると、次のようなことが分かりました。
String url = "http://www.pgmfi.org/";
Response response = Jsoup.connect(url).followRedirects(false).execute();
System.out.println(response.statusCode() + " : " + response.url());
//check if URL is redirect?
System.out.println("Is URL going to redirect : " + response.hasHeader("location"));
System.out.println("Target : " + response.header("location"));
出力:
200 : http://www.pgmfi.org/
Is URL going to redirect : false
Target : null
ので、リダイレクトは明らかに単純ではありません。私の質問 - 何らかの方法があります、私はHTMLの本文を解析せずにページがリダイレクトされているURLを取得できますか?
私は、crawler4j
を使用する解決法を推奨します。 jsoup
の解決策でさえ私にとっては大丈夫です。
スクラップライブラリがメタリフレッシュベースのリダイレクトをサポートするかどうか、またはどのようにサポートするかを把握する必要があります。そうでない場合は、自分で解析するか、http://twiki.pgmfi.orgでクロールを開始してください。 – pvg
なぜ私はdownvoteを得たのかわかりません。私はこの質問をする前に別の方法を試しましたが失敗しました。元のURLからリダイレクトされたページをクロールする必要があるので、今すぐリダイレクトされたURLから直接クロールすることは考慮していません。 –
あなたが求めていることは本当にはっきりしません。あなたはリダイレクトのタイプに慣れていないかもしれませんか?厳密に言えば、リダイレクトではなく、HTMLの解析に依存しています。 – pvg