目次
興味がありそうな記事
ホームページ バックエンド開発 PHPチュートリアル PHP入門 スヌーピーコレクションclass_PHPチュートリアル

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

Jul 13, 2016 am 10:31 AM
php snoopy

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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles