ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してWebサイトのHTMLをクロールする方法

PHPを使用してWebサイトのHTMLをクロールする方法

WBOY
WBOYオリジナル
2016-06-23 13:46:56902ブラウズ



接続アドレス

http://detail.tmall.com/item.htm?spm=a230r.1.0.0.MlI5e4&id=40364502055&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id=&abbucket=12



上記で接続された HTML を取得し、file_get_contents() を使用してテストしますが、動作しませんでした。何が起こっているのでしょうか?


ディスカッションに返信 (解決策)

file_get_contents() うまくいきました

上の階の書き込みメソッドを使用することも、curl を使用して取得することもできます。最も重要なことは、自分のニーズを確認することです。

PHP マニュアルでカールを確認してください

filegetcontents を数回テストして、うまくいかない場合は、curl だけしてください
通常、これは単なる偽のユーザーエージェントとリファラーです。クッキーを持ってくるかもしれません

取得できる場合は、次のこともできます対応する文字に従ってセグメントを閉じます Fetch

<?php 	$url="http://detail.tmall.com/item.htm?spm=a230r.1.0.0.MlI5e4&id=40364502055&ad_id=&am_id=&cm_id=140105335569ed55e27b&pm_id";	$content = getcurl($url);	echo $content;	    function getcurl($url){		$ch = curl_init(); 		curl_setopt($ch, CURLOPT_URL, $url);		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);		curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);		curl_setopt($ch, CURLOPT_MAXREDIRS,20);		$file_contents = curl_exec($ch);		return $file_contents;		curl_close($ch);    }?>

その中で、curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true) の設定はより重要であり、Tmall のリダイレクト ページをフォローするために使用できます。

ありがとうございます

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