本篇內(nèi)容主要講解“PHP抓取網(wǎng)頁內(nèi)容的方法有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“PHP抓取網(wǎng)頁內(nèi)容的方法有哪些”吧!
目前成都創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站改版維護、企業(yè)網(wǎng)站設(shè)計、醴陵網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
本文操作環(huán)境:windows10系統(tǒng)、php 7.1、thinkpad t480電腦。
我們在進行開發(fā)工作的時候通常會需要抓取一些網(wǎng)頁文件,通常情況下我們都是使用PHP模擬瀏覽器的訪問,通過http請求訪問url地址, 然后得到html源代碼或者xml數(shù)據(jù)。但是我們在拿到數(shù)據(jù)后并不能直接輸出,往往需要對內(nèi)容進行提取,然后再進行格式化,以更加友好的方式將數(shù)據(jù)顯現(xiàn)出來。
下面我們簡單說一下php抓取頁面的幾種方法及原理:
一、 PHP抓取頁面的主要方法:
1. file()函數(shù)
2. file_get_contents()函數(shù)
3. fopen()->fread()->fclose()模式
4.curl方式
5. fsockopen()函數(shù) socket模式
二、PHP解析html或xml代碼主要方式:
1、file()函數(shù)
服務(wù)器上 echo $lines_string;
2、file_get_contents()函數(shù)
使用file_get_contents和fopen必須空間開啟allow_url_fopen。方法:編輯php.ini,設(shè)置 allow_url_fopen = On,allow_url_fopen關(guān)閉時fopen和file_get_contents都不能打開遠程文件。
3、fopen()->fread()->fclose()模式
4、curl方式
使用curl必須空間開啟curl。方法:windows下修改php.ini,將extension=php_curl.dll前面的分號去掉,而且需 要拷貝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安裝curl擴展。
5、fsockopen()函數(shù) socket模式
socket模式能否正確執(zhí)行,也跟服務(wù)器的設(shè)置有關(guān)系,具體可以通過phpinfo查看服務(wù)器開啟了哪些通信協(xié)議。
\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); }到此,相信大家對“PHP抓取網(wǎng)頁內(nèi)容的方法有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
分享標(biāo)題:PHP抓取網(wǎng)頁內(nèi)容的方法有哪些
網(wǎng)頁URL:http://weahome.cn/article/ghggoi.html