5

Web サイトのスクリーン スクレイピングを行いたいのですが、そのために Http、Socks4、および Sock5 プロキシを使用したいと考えています。だから私の質問は次のとおりです:

  1. 他の外部 API を使用せずに Java を介してこれらのプロキシを使用することは可能ですか? たとえば、これらのプロキシを介してHttpURLConnection経由でリクエストを送信することは可能ですか?

  2. それが不可能な場合、他にどのような外部 API を使用できますか?

  3. HtmlUnitが提供するヘッドレス ブラウザを使用して実行していましたが、単純な Web ページでも読み込みに時間がかかるため、Web ページの読み込みが高速なヘッドレス ブラウザを提供する他の A​​PI があれば教えてください。重い AJAX または Javascript コードを含む Web ページを開きたくありません。ヘッドレス ブラウザでフォーム ボタンをクリックするだけです。

4

2 に答える 2

3

他の外部 API を使用せずに Java を介してこれらのプロキシを使用することは可能ですか? たとえば、HttpURLConnectionこれらのプロキシを介してリクエストを送信することは可能ですか?

はい、(グローバル) システム プロパティを使用するか、Proxyクラスを使用するか、ProxySelector. 後者の 2 つのオプションは、Java 5 以降で使用でき、より柔軟です。すべての詳細については、 jarnbjoが言及したJava Networking and Proxiesをご覧ください。

HtmlUnit が提供するヘッドレス ブラウザを使用して実行していましたが、単純な Web ページでも読み込みに時間がかかるため、Web ページの読み込みが高速なヘッドレス ブラウザを提供する他の A​​PI があれば教えてください。重い AJAX または Javascript コードを含む Web ページを開きたくありません。ヘッドレス ブラウザでフォーム ボタンをクリックするだけです。

残念ながら、私が考えることができる最初の選択肢は、 HtmlUnit ベース ( JWebUnitWebTestなど) か、低速 ( SeleniumWebDriver - ヘッドレス モードで実行できる) のいずれかです。ただし、高度な JavaScript サポートが必要ない場合は、HttpUnitを試すことができます。

于 2010-01-16T17:20:48.740 に答える
1

はい、可能です。さまざまなネットワーク プロキシの設定オプションについては、こちらを参照してください。

于 2010-01-16T16:14:10.007 に答える