ホームページ >バックエンド開発 >PHPチュートリアル >PHP入門 スヌーピーコレクションclass_PHPチュートリアル

PHP入門 スヌーピーコレクションclass_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:31:191451ブラウズ

Snoopy は、Web コンテンツの取得、フォームの送信、その他の操作を行うことができるブラウザーのいくつかの単純な機能をシミュレートするために使用される php クラスです。 Snoopy を正しく動作させるには、サーバーの PHP バージョンが 4 以降であり、基本的な LAMP サービスでサポートされる PCRE (Perl 互換正規表現) をサポートしている必要があります。これは PHP クラスであり、拡張する必要がないため、サーバーがcurlをサポートしていない場合に最適です。

スヌーピーの特徴:

1. Web ページのコンテンツを取得します

2. Web ページのテキストコンテンツを取得します (HTML タグを削除します) fetchtext

3. Web ページのリンクを取得し、fetchlinks fetchform を作成します

4. プロキシホストのサポート

5. 基本的なユーザー名/パスワードの検証をサポートします

6. user_agent、リファラー(ソース)、Cookie、ヘッダーコンテンツ(ヘッダーファイル)の設定​​をサポートします

7. ブラウザーのリダイレクトをサポートし、リダイレクトの深さを制御できます

8. Web ページ内のリンクを高品質の URL に展開できます (デフォルト)

9. データを送信して戻り値を取得する

10. HTML フレームワークの追跡をサポートします

11. リダイレクト時の Cookie の受け渡しをサポートします

スヌーピークラスのダウンロードアドレス: http://sourceforge.net/projects/snoopy/

スヌーピークラスのメソッド:

フェッチ($URI)

これは、Web ページのコンテンツをクロールするために使用される方法です。 $URI パラメータは、クロールされた Web ページの URL アドレスです。取得した結果は $this->results に保存されます。フレームをスクレイピングしている場合、スヌーピーは各フレームを追跡して配列に保存し、$this->results に保存します。

フェッチテキスト($URI)

このメソッドは fetch() に似ています。唯一の違いは、このメソッドが HTML タグやその他の無関係なデータを削除し、Web ページ内のテキスト コンテンツのみを返すことです。

フェッチフォーム($URI)

このメソッドは fetch() に似ていますが、唯一の違いは、このメソッドが HTML タグやその他の無関係なデータを削除し、Web ページのフォーム コンテンツ (フォーム) のみを返すことです。

リンクの取得($URI)

このメソッドは fetch() に似ていますが、唯一の違いは、このメソッドが HTML タグやその他の無関係なデータを削除し、Web ページ内のリンクのみを返すことです。デフォルトでは、相対リンクは自動的に完成され、完全な URL に変換されます。

送信($URI,$formvars)

このメソッドは、$URL で指定されたリンク アドレスに確認フォームを送信します。 $formvars はフォームパラメータを格納する配列です。

テキストを送信($URI,$formvars)

このメソッドは submit() に似ていますが、唯一の違いは、このメソッドは HTML タグやその他の無関係なデータを削除し、ログイン後に Web ページ内のテキスト コンテンツのみを返すことです。

リンクを送信($URI)

このメソッドは submit() に似ていますが、唯一の違いは、このメソッドが HTML タグやその他の無関係なデータを削除し、Web ページ内のリンクのみを返すことです。 デフォルトでは、相対リンクは自動的に完成され、完全な URL に変換されます。

スヌーピークラスの属性: (括弧内はデフォルト値)

$host 接続されているホスト
$port 接続するポート
$proxy_host 使用するプロキシ ホスト (存在する場合)
$proxy_port 使用するプロキシ ホスト ポート (存在する場合)
$agent ユーザーエージェント変装 (スヌーピー v0.1)
$referer ルーティング情報 (利用可能な場合)
$cookies クッキー (ある場合)
$rawheaders その他のヘッダー情報 (ある場合)
$maxredirs リダイレクトの最大数、0=許可されません (5)
$offsiteok オフサイトへのリダイレクトを許可するかどうか (true)
$expandlinks 完全なアドレスへのすべてのリンクを完了するかどうか (true)
$user 認証のユーザー名 (利用可能な場合)
$pass 認証ユーザー名 (利用可能な場合)
$accept http はタイプ (image/gif、image/x-xbitmap、image/jpeg、image/pjpeg、*/*) を受け入れます
$error エラーがあればどこに報告されますか
$response_code サーバーから返された応答コード
$headers サーバーから返されたヘッダー
$maxlength 返されるデータの最長長
$read_timeout 読み取り操作のタイムアウト (PHP 4 Beta 4+ が必要)
タイムアウトなしの場合は 0 に設定します
$timed_out 読み取り操作がタイムアウトすると、このプロパティは true を返します (PHP 4 Beta 4+ が必要)
$maxframes 追跡できるフレームの最大数
$status キャプチャされた http のステータス
$temp_dir Web サーバーが書き込むことができる一時ファイル ディレクトリ (/tmp)
$curl_path cURL バイナリ ディレクトリ。cURL バイナリがない場合は false に設定します

スヌーピー使用例:

(1) 指定したURLのコンテンツを取得します

リーリー

(2)フォームを送信

リーリー

(3) スヌーピーを使って変装

$url='http://www.phpernote.com';
include('snoopy.php');
$snoopy=new Snoopy;
$snoopy->fetch($url);//获取所有内容 
echo $snoopy->results;//显示结果 
$snoopy->fetchtext //获取文本内容(去掉html代码) 
$snoopy->fetchlinks //获取页面所有链接 
$snoopy->fetchform //获取页面表单信息

興味がありそうな記事

  • php プロンプト PHP 警告: date(): に依存するのは安全ではありません... 間違った解決策
  • php 体重を計算する簡単な方法 (宝くじカテゴリのアプリケーションに適しています)
  • php セッションと cookie の違い
  • 強力な PHP 画像処理クラス (透かし、透明度、ズーム、シャープ、回転、反転、切り取り、色の反転)
  • PHP 初心者向けの挿入および更新ステートメントの構築クラス
  • php bom 削除ツール、 php バッチ削除 bom コード
  • URL をバッチマルチスレッドで開くための PHP Curl クラス
  • phpMyAdmin エラーなしでセッションを開始できないエラー解決策

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/764105.html技術記事 Snoopy は、Web コンテンツの取得、フォームの送信、その他の操作を行うことができるブラウザーのいくつかの単純な機能をシミュレートするために使用される php クラスです。スヌーピーを正しく動作させるには、サーバーの PHP バージョンが 4 以降である必要があります。...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。