ホームページ >php教程 >php手册 >curl データ収集シリーズの単一ページ収集関数 get_html

curl データ収集シリーズの単一ページ収集関数 get_html

WBOY
WBOYオリジナル
2016-07-21 14:52:55977ブラウズ

データ収集を行う場合、私たちは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 データ収集シリーズの単一ページ収集関数 get_html
リーリー
curl データ収集シリーズの単一ページ収集関数 get_html

頻繁に使用するため、curl_setopt_array を使用して関数の形式で記述することができます:

curl データ収集シリーズの単一ページ収集関数 get_html
リーリー
curl データ収集シリーズの単一ページ収集関数 get_html
リーリー

正しいページを取得するために、いくつかの特定のパラメーターを渡す必要がある場合があります。たとえば、今すぐ NetEase ページを取得したい場合:

リーリー

何も入っていない空白が表示されます。次に、curl_getinfo を使用して関数を作成し、何が起こるかを確認します。

curl データ収集シリーズの単一ページ収集関数 get_html リーリー
curl データ収集シリーズの単一ページ収集関数 get_html

http_code 302

リダイレクトされていることがわかります。この時点で、いくつかのパラメーターを渡す必要があります: リーリー

なぜそのようなページが私たちのコンピュータがアクセスするページと異なるのかがわかるでしょう? ? ?

サーバーがクライアントがどのデバイス上にあるかを判断するにはパラメーターがまだ十分ではないようなので、通常のバージョンが返されます

USERAGENT

を送信する必要があるようです

リーリー

OK

これでページが出てきました。基本的にこの

get_html関数は基本的にそのような拡張機能を実現できます もちろん、NetEase の Web ページを明確に理解している場合は、それを収集するだけで済みます。

リーリー

この方法で普通に集める事も出来ます
今日も終わりバイバイ!!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。