1

だから私はこのリンクから IMDB からいくつかのデータを抽出しようとしています:

http://www.imdb.com/find?q=sleepers&s=all (ソースコードを見てください)

したがって、この正規表現では:

(?s:<td class=\"result_text\"> <a href=\"/title/.*?</td>)

そして、これ:

(?s:(?i:(?<=[>])Sleepers.*?(?=</td>)))

Sleepers という単語を含むすべての一致するタイトルを抽出できます...ここで問題が発生します。

私は別の国から来たので、「Sleepers」の最初の試合は「Los hijos de la calle」に次のように変わります。

<td class="result_text"> <a href="/title/tt0117665/?ref_=fn_al_tt_1" >Los hijos de la calle</a> (1996) <br/>aka <i>"Sleepers"</i> </td>

これが起こらないように、Java から作成された http 接続を強制する方法はありますか?

HTMLUnit を使用していたときはこの問題はありませんでしたが、私がやっているタイプの作業では非常に遅いです。

プロキシを使用しているのですが、ブラウザを経由すると、ページ (ソース コード) が英語で表示されます。

編集:

setRequestHeader() を介して目的の言語を設定すると、問題が解決しました。

conn = url.openConnection(proxy);
conn.setRequestProperty("Accept-Language", "en-US");

>> FOUND: <td class="result_text"> <a href="/title/tt0117665/?ref_=fn_al_tt_1" >Sleepers</a> (1996) </td>

ありがとう!

4

1 に答える 1

1

私の最初の提案は、リクエストに Accept-Language http ヘッダーを追加することです。それでも問題が解決しない場合は、ブラウザが送信している Cookie をコピーしてみてください。
クロムまたはクロムを使用している場合は、開発者ツール (F12) を開き、[ネットワーク] タブに移動して、送信されているヘッダーと Cookie を正確に確認します。firebug を使用している場合は、firefox でその情報を取得することもできます。

于 2013-09-19T08:34:04.733 に答える