ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して Web コンテンツをクロールするテクニックをすぐに理解する

PHP を使用して Web コンテンツをクロールするテクニックをすぐに理解する

WBOY
WBOYオリジナル
2016-07-25 08:45:521070ブラウズ

Web コンテンツをキャプチャするために php を正しく実装するにはどうすればよいですか? この問題は、長い間 PHP 言語に触れたことのない友人にとっては少し難しいです。 Kekejie今日は具体的な解決策をご紹介します。


まず、Cwindows の php.ini で extension=php_curl.dll 関数をオンにして、apapche を再起動しました。以下は、Web コンテンツをキャプチャし、Baidu で PHP 情報をキャプチャするために作成した PHP です。 Parameters

curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com/s?wd=php");

//データを返すにはCURLが必要

curl_setopt ($ch,CURLOPT_RETURTRANSFER,1);

//リクエストを実行

$result =curl_exec($ch) or die (curl_error());

//返された結果を取得し、表示してください

echo $result;

echocurl_error($ch);

//CURLを閉じる

curl_close($ch);

?>

しかし、なぜ PHP が Web コンテンツを取得した後に応答がないのでしょうか? 最初の行に echo "test;" を入力すると、curl_init() 関数が実行されていない可能性があります。まだ!

PHP の phpinfo() に CURL 拡張機能がサポートされているかどうかを確認してください

php_curl.dll を c:windows および c:windowssystem32 にコピーして、Apache を再起動して再試行してください

それはファイルではありませんphp_curl.dll。php ディレクトリの libeay32.dll と ssleay32.dll を c:windowssystem32 にコピーし、サーバーのセキュリティのため、allow_url_fopen をオフにします。

サーバーallow_url_fopen = Offの場合、file_get_contentsはONに設定されている場合のみ使用できます。

< ?php /*

$getstr=file_get_contents("http://www.163.com/weatherxml/54511.xml");

$qx=explode(""",strstr($getstr,"qx="));

$wd=explode(""",strstr($getstr,"wd="));

$qximg=explode(""",strstr($getstr,"qximg="));

$qximg_=explode(",",$qximg[1]);

echo "北京".$qx[1]."";

echo $wd[1];*/

//echo "

?>

次の PHP クローリング Web コンテンツの例は、curl_init 関数を通じて 163 の天気予報を取得することです

php.ini ( ;extension=php_curl.dll の前の (;) を削除します) ) を保存して

php_curl.dll、libay32.dll、ssleay32.dll を c:windowssystem32 にコピーし、IIS を再起動します

< ?php

$ch =curl _init( ) or die (curl_error());

//URLパラメータを設定

curl_setopt($ch,CURLOPT_URL,"http://www.163.com/weatherxml/54511.xml" );

//CURLにデータを返すようリクエスト

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

//リクエストを実行

$result =curl_exec( $ ch) またはdie (curl_error());

//返された結果を取得して表示

//echo $result;

// echocurl_error($ch);

$qx=explode (""",strstr($result,"qx="));

$wd=explode(""",strstr($result,"wd="));

$qximg=explode (""",strstr($result,"qximg="));

$qximg_=explode(",",$qximg[1]);

echo "北京". $qx[1 ]."< br />";

echo $wd[1];

//CURLを閉じる

curl_close($ch);

?> ;

Web コンテンツをクローリングする PHP の上記の学習を通じて、自分で実践し、理解を深めることができます。詳細な関連情報: http://www.kokojia.com/s64/




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