php中抓取网页内容的实例详解
方法一:
使用file_get_contents方法实现
1
2
3
4
5
|
$url = "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>" ; |
代码很简单,一看就懂,不解释了。
方法二:
使用curl实现
1
2
3
4
5
6
7
8
9
10
11
|
$url = "http://news.sina.com.cn/c/nd/2016-10-23/doc-ifxwztru6951143.shtml" ; $ch = curl_init(); curl_setopt( $ch , CURLOPT_URL, $url ); curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1); curl_setopt( $ch , CURLOPT_CONNECTTIMEOUT, 10); curl_setopt( $ch , CURLOPT_FOLLOWLOCATION, 1); $html = curl_exec( $ch ); curl_close( $ch ); echo "<textarea style='width:800px;height:600px;'>" . $html . "</textarea>" ; |
1
|
curl_setopt( $ch , CURLOPT_FOLLOWLOCATION, 1); |
加上这句代码,表示如果请求被重定向时,可以访问到最终的请求页面,不然请求的结果会显示如下内容:
1
2
|
<head><title>Object moved</title></head> <body><h1>Object Moved</h1>This object may be found <a href= "some link." rel= "external nofollow" >here</a>.</body> |
如意疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://www.cnblogs.com/modou/p/5991480.html