PHP抓取网页内容的技巧分享_PHP教程
Jul 15, 2016 pm 01:32 PM
php
為什麼
內容
分享
反應
可
如何
實現
天賦
技巧
抓取
正確
的
網頁
如何才能正确的实现可为什么PHP抓取网页内容后没反应呢?连测试的文字都没有,要是我把echo "测试一下";放到第一行就可以输出,我估计是curl_init()函数还没有运行!
你看看PHP的phpinfo()中有没有CURL扩展支持!
把php_curl.dll拷到c:windows和c:windowssystem32里面 重启apache之后再试试看
不是php_curl.dll这个文件,是把php目录中的libeay32.dll,ssleay32.dll拷到c:windowssystem32里面 重启apache
为了服务器安全着想,所以把allow_url_fopen关掉了。
当服务器allow_url_fopen = Off 时,就不能用file_get_contents,只有设置ON时可以用。
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><span> ?php /* </span></span></span></li> <li> <span>$</span><span class="attribute">getstr</span><span>=</span><span class="attribute-value">file_get_contents</span><span>("http://www.<br>163.com/weatherxml/54511.xml"); </span> </li> <li class="alt"> <span>$</span><span class="attribute">qx</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($getstr,"</span><span class="attribute">qx</span><span>=")); </span> </li> <li> <span>$</span><span class="attribute">wd</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($getstr,"</span><span class="attribute">wd</span><span>=")); </span> </li> <li class="alt"> <span>$</span><span class="attribute">qximg</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($getstr,"</span><span class="attribute">qximg</span><span>=")); </span> </li> <li> <span>$</span><span class="attribute">qximg_</span><span>=</span><span class="attribute-value">explode</span><span>(",",$qximg[1]); </span> </li> <li class="alt"><span>echo "北京 ".$qx[1].""; </span></li> <li><span>echo $wd[1];*/ </span></li> <li class="alt"> <span>//echo "</span><span class="tag"><span> </span><span class="tag-name">img</span><span> </span><span class="attribute">src</span><span>=</span><span class="attribute-value">'http://news.<br>163.com/img/logo/".$qximg_[0]."'</span><span class="tag">><br></span><span class="tag"><span> </span><span class="tag-name">img</span><span> </span><span class="attribute">src</span><span>=</span><span class="attribute-value">'http://news.163.com<br>/img/logo/".$qximg_[1]."'</span><span class="tag">></span><span>"; </span></span></span> </li> <li> <span class="tag">?></span><span> </span> </li> </ol>
登入後複製
以下PHP抓取网页内容的范例是通curl_init函数来获取163天气预报
把php.ini里( ;extension=php_curl.dll ) 前面的(;)去掉保存
把php_curl.dll,libeay32.dll,ssleay32.dll拷到c:windowssystem32里,重启IIS即可,没有装apache
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><span> ?php </span></span></span></li> <li><span>//初始化curl </span></li> <li class="alt"> <span>$</span><span class="attribute">ch</span><span> = </span><span class="attribute-value">curl_init</span><span>() or die (curl_error()); </span> </li> <li><span>//设置URL参数 </span></li> <li class="alt"><span>curl_setopt($ch,CURLOPT_URL,"http:<br>//www.163.com/weatherxml/54511.xml"); </span></li> <li><span>//要求CURL返回数据 </span></li> <li class="alt"><span>curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); </span></li> <li><span>//执行请求 </span></li> <li class="alt"> <span>$</span><span class="attribute">result</span><span> = </span><span class="attribute-value">curl_exec</span><span>($ch) or die (curl_error()); </span> </li> <li><span>//取得返回的结果,并显示 </span></li> <li class="alt"><span>//echo $result; </span></li> <li><span>// echo curl_error($ch); </span></li> <li class="alt"> <span>$</span><span class="attribute">qx</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($result,"</span><span class="attribute">qx</span><span>=")); </span> </li> <li> <span>$</span><span class="attribute">wd</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($result,"</span><span class="attribute">wd</span><span>=")); </span> </li> <li class="alt"> <span>$</span><span class="attribute">qximg</span><span>=</span><span class="attribute-value">explode</span><span>(""",strstr($result,"</span><span class="attribute">qximg</span><span>=")); </span> </li> <li> <span>$</span><span class="attribute">qximg_</span><span>=</span><span class="attribute-value">explode</span><span>(",",$qximg[1]); </span> </li> <li class="alt"> <span>echo "北京 ".$qx[1]."</span><span class="tag"><span> </span><span class="tag-name">br</span><span> </span><span class="tag">/></span><span>"; </span></span> </li> <li><span>echo $wd[1]; </span></li> <li class="alt"><span>//关闭CURL </span></li> <li><span>curl_close($ch); </span></li> <li class="alt"> <span class="tag">?></span><span> </span> </li> </ol>
登入後複製
通过以上对PHP抓取网页内容的学习,大家可以自行实际操作一遍,加深对它的理解。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發
