データ収集を行う場合、私たちはcurl+通常のメソッドを使用して必要なデータを収集することがよくあります。私自身の仕事の経験に基づいて、ブログパークに書いたいくつかの一般的なカスタム関数を共有します。不適切な記述があった場合は、お願いします。アドバイスありがとうございます
シリーズなので1日や2日では終わらないので、順次公開していきます
概要:
1.curlデータ収集シリーズのシングルページ収集機能get_html
2.curlデータ収集シリーズの複数ページ並列収集機能get_htmls
3.curlデータ収集系列の定常処理関数get _matches
4.curlデータ収集シリーズのコード分離
5.curlデータ取得シリーズの並列ロジック制御機能web_spider
、、、
単一ページの収集は、データ収集プロセスで最も一般的に使用される機能であり、サーバーのアクセス制限下でのみ使用できる場合があります。これは遅いですが、簡単に制御できるため、一般的に使用される を作成するのは非常に簡単です。 curl関数呼び出し。重要
。私たちは Baidu と NetEase に精通しているため、これら 2 つの Web サイトのホームページのコレクションを例として使用します
最も簡単な書き方:
頻繁に使用するため、curl_setopt_array を使用して関数の形式で記述することができます:
正しいページを取得するために、いくつかの特定のパラメーターを渡す必要がある場合があります。たとえば、今すぐ NetEase ページを取得したい場合:
何も入っていない空白が表示されます。次に、curl_getinfo を使用して関数を作成し、何が起こるかを確認します。
http_code 302
リダイレクトされていることがわかります。この時点で、いくつかのパラメーターを渡す必要があります: リーリー
なぜそのようなページが私たちのコンピュータがアクセスするページと異なるのかがわかるでしょう? ? ?
サーバーがクライアントがどのデバイス上にあるかを判断するにはパラメーターがまだ十分ではないようなので、通常のバージョンが返されます
USERAGENT
を送信する必要があるようです
リーリー
OK
これでページが出てきました。基本的にこの
get_html関数は基本的にそのような拡張機能を実現できます もちろん、NetEase の Web ページを明確に理解している場合は、それを収集するだけで済みます。
リーリーこの方法で普通に集める事も出来ます