PHP で Web ページ データをクロールする主なプロセスは、まず Web ページ データ全体を取得し、次に (重要な) 必要な Web ページ データを定期的に照合することです。
PHP でページを読み取る主な方法。ページ データを取得する方法の例はいくつかあります。これらはインターネット上の上級者の経験に基づいています。まだ使用されていません。最初に保存して、後で試してみてください。
1.file() 関数
2.file_get_contents() 関数
3.fopen()->fread()->fclose() モード
4.curl メソッド (主にこれを使用します)
5.fsockopen() 関数ソケット モード
6.プラグイン (http://sourceforge.net など) /projects/ snoopy/)
7.file() function
<?php //定义url $url='[http://t.qq.com](http://t.qq.com/)';//fiel函数读取内容数组 $lines_array=file($url);//拆分数组为字符串 $lines_string=implode('',$lines_array);//输出内容 echo $lines_string;
2. 比較的簡単な file_get_contents メソッドを使用して実装します。
file_get_contents と fopen を使用するには、allow_url_fopen を有効にする必要があります。方法: php.ini を編集し、allow_url_fopen = On に設定します。allow_url_fopen がオフになると、fopen も file_get_contents もリモート ファイルを開くことができなくなります。
$url="[http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml](http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml)"; $html=file_get_contents($url); //如果出现中文乱码使用下面代码` //$getcontent = iconv("gb2312", "utf-8",$html); echo"<textarea style='width:800px;height:600px;'>".$html."</textarea>";
3.fopen()->fread()->fclose() モード、まだ使用していません。使用したら書き留めます。参照してください
<?php //定义url $url='[http://t.qq.com](http://t.qq.com/)';//fopen以二进制方式打开 $handle=fopen($url,"rb");//变量初始化 $lines_string="";//循环读取数据 do{ $data=fread($handle,1024); if(strlen($data)==0) {` break; } $lines_string.=$data; }while(true);//关闭fopen句柄,释放资源 fclose($handle);//输出内容 echo $lines_string;#4. 実装にはcurlを使用します(私は通常これを使用します)。 curl を使用するには、curl を有効にするためのスペースが必要です。方法: Windows では php.ini を変更し、extension=php_curl.dll の前のセミコロンを削除し、ssleay32.dll と libeay32.dll を C:\WINDOWS\system32 にコピーします。Linux では、curl 拡張機能をインストールします。
<?php header("Content-Type: text/html;charset=utf-8"); date_default_timezone_set('PRC'); $url = "https://***********ycare";//要爬取的网址 $res = curl_get_contents($url);//curl封装方法 preg_match_all('/<script>(.*?)<\/script>/',$res,$arr_all);//这个网页中数据通过js包过来,所以直接抓js就可以 preg_match_all('/"id"\:"(.*?)",/',$arr_all[1][1],$arr1);//从js块中匹配要的数据 $list = array_unique($arr1[1]);//(可省)保证不重复 //以下则是同理,循环则可 for($i=0;$i<=6;$i=$i+2){ $detail_url = 'ht*****em/'.$list[$i]; $detail_res = curl_get_contents($detail_url); preg_match_all('/<script>(.*?)<\/script>/',$detail_res,$arr_detail); preg_match('/"desc"\:"(.*?)",/',$arr_detail[1][1],$arr_content); *** *** *** $ret=curl_post('http://**********cms.php',$result);//此脚本未放在服务器上,原因大家懂就好哈。 } function curl_get_contents($url,$cookie='',$referer='',$timeout=300,$ishead=0) { $curl = curl_init(); curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1); curl_setopt($curl, CURLOPT_URL,$url); curl_setopt($curl, CURLOPT_TIMEOUT,$timeout); curl_setopt($curl, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'); if($cookie) { curl_setopt( $curl, CURLOPT_COOKIE,$cookie); } if($referer) { curl_setopt ($curl,CURLOPT_REFERER,$referer); } $ssl = substr($url, 0, 8) == "https://" ? TRUE : FALSE; if ($ssl) { curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); } $res = curl_exec($curl); return $res; curl_close($curl); } //curl post数据到服务器 function curl_post($url,$data){ $ch = curl_init(); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,true); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); $output = curl_exec($ch); curl_close($ch); return $output; } ?>5.fsockopen() 関数のソケット モード (決して使用されません。将来試すことができます) ソケット モードが正しく実行できるかどうかサーバーによっても異なります 設定によっても異なります サーバーでどの通信プロトコルが有効になっているかは、最新バージョンの phpinfo
<?php $fp = fsockopen("t.qq.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: t.qq.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); }6.snoopy プラグインで確認できますSnoopy-1.2.4.zip 最終更新日: 2013-05-30, インターネット上で大人気のスヌーピーをコレクションに使用するには、 を使用することをお勧めします。これは非常に強力なコレクションです。ブラウザ情報をシミュレートするエージェントを設定することもできます。 注: エージェントの設定は Snoopy.class.php ファイルの 45 行目にあります。ファイル内で「var Formula input error_SERVER['HTTP_USER_AGENT'];」を検索してブラウザ情報を取得してください。
<?php //引入snoopy的类文件 require('Snoopy.class.php'); //初始化snoopy类 $snoopy=new Snoopy; $url="[http://t.qq.com](http://t.qq.com/)"; //开始采集内容` $snoopy->fetch($url); //保存采集内容到$lines_string $lines_string=$snoopy->results; //输出内容,嘿嘿,大家也可以保存在自己的服务器上 echo $lines_string;関連する推奨事項:
Web ページ クローリング: PHP を使用して Web クローラーを実装する方法の概要、クローラー クローラー
php Web ページ分析コンテンツ クローラー データ分析
##
以上がPHPを使用してWebページをクロールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版
便利なJavaScript開発ツール
