0

Yahoo ムービーの Web サイト、たとえばダーク ナイト ( http://movies.yahoo.com/movie/the-dark-knight/ ) を開くと、Broswer によって Web サイトの表示が異なります (私の場合、Chrome と Explorer の場合)。 )。そのため、HTML コードは互いに異なります。Chrome で HTML ソース コードを取得するために、次のように Java でコーディングしました。

StringBuilder parsedContentFromUrl = new StringBuilder();
HttpURLConnection uc;
uc = (HttpURLConnection) url.openConnection();
uc.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36 CoolNovo/2.0.9.20");
uc.setRequestMethod("GET");
uc.connect();
uc.getInputStream();
BufferedInputStream in = new BufferedInputStream(uc.getInputStream());
int ch;
while((ch = in.read()) != -1) {
    parsedContentFromUrl.append((char) ch);
}
String content = parsedContentFromUrl.toString();

HTML コードを CHROME から取得したいのですが、出力は EXPLORER からです。Java を使用して Chrome 版の HTML を取得する方法を教えてください。

4

1 に答える 1

2

これまでに記述した内容は、初期データ ストリームを返します。ブラウザで動作を複製するには、動的に生成された DOM コンテンツを処理するために、ブラウザのすべての機能 (html 解析、DOM 構築、JavaScript 実行、css レンダリング、リンクされたデータのフェッチなど) を実装する何かが必要です。a からのデータの読み取りHttpURLConnectionは、多くの必要な手順の最初にすぎません。完了するまでに、最新のブラウザーを複製したことになります。それは膨大な量の作業です。

于 2013-09-24T07:42:36.373 に答える