激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - php抓取頁面的幾種方法詳解

php抓取頁面的幾種方法詳解

2020-04-15 11:55PHP教程網(wǎng) PHP教程

本篇文章是對(duì)php抓取頁面的幾種方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

在 做一些天氣預(yù)報(bào)或者RSS訂閱的程序時(shí),往往需要抓取非本地文件,一般情況下都是利用php模擬瀏覽器的訪問,通過http請(qǐng)求訪問url地址, 然后得到html源代碼或者xml數(shù)據(jù),得到數(shù)據(jù)我們不能直接輸出,往往需要對(duì)內(nèi)容進(jìn)行提取,然后再進(jìn)行格式化,以更加友好的方式顯現(xiàn)出來。
下面簡(jiǎn)單說一下php抓取頁面的幾種方法及原理:
一、 PHP抓取頁面的主要方法:

1. file()函數(shù)   
2. file_get_contents()函數(shù) 
3. fopen()->fread()->fclose()模式 
4.curl方式 
5. fsockopen()函數(shù) socket模式 
6. 使用插件(如:http://sourceforge.net/projects/snoopy/)

二、PHP解析html或xml代碼主要方式:
1. file()函數(shù)

復(fù)制代碼 代碼如下:


<?php
$url='http://t.qq.com';
$lines_array=file($url);
$lines_string=implode('',$lines_array);
echo htmlspecialchars($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)閉時(shí)fopen和file_get_contents都不能打開遠(yuǎn)程文件。

復(fù)制代碼 代碼如下:


<?php
$url='http://t.qq.com';
$lines_string=file_get_contents($url);
echo htmlspecialchars($lines_string);


3. fopen()->fread()->fclose()模式

復(fù)制代碼 代碼如下:


<?php
$url='http://t.qq.com';
$handle=fopen($url,"rb");
$lines_string="";
do{
    $data=fread($handle,1024);
     if(strlen($data)==0) {
        break;
    }
    $lines_string.=$data;
}while(true);
fclose($handle);
echo htmlspecialchars($lines_string);


4. curl方式
使用curl必須空間開啟curl。方法:windows下修改php.ini,將extension=php_curl.dll前面的分號(hào)去掉,而且需 要拷貝ssleay32.dll和libeay32.dll到C:\WINDOWS\system32下;Linux下要安裝curl擴(kuò)展。

復(fù)制代碼 代碼如下:


<?php
$url='http://t.qq.com';
$ch=curl_init();
$timeout=5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$lines_string=curl_exec($ch);
curl_close($ch);
echo htmlspecialchars($lines_string);


5. fsockopen()函數(shù) socket模式
socket模式能否正確執(zhí)行,也跟服務(wù)器的設(shè)置有關(guān)系,具體可以通過phpinfo查看服務(wù)器開啟了哪些通信協(xié)議,比如我的本地php socket沒開啟http,只能使用udp測(cè)試一下了。

復(fù)制代碼 代碼如下:


<?php                                                                                                                                               
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n"
} else {
    fwrite($fp, "\n")
    echo fread($fp, 26)
    fclose($fp)


6. 插件
網(wǎng)上應(yīng)該有比較多的插件,snoopy插件是在網(wǎng)上搜到的,有興趣的可以研究一下。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 91精品国产九九九久久久亚洲 | 91成人精品 | av免费在线观看国产 | 99精品视频在线免费观看 | 一级片免费 | 成人福利免费在线观看 | 毛片118极品美女写真 | 韩国精品视频在线观看 | www.成人免费 | 史上最强炼体老祖动漫在线观看 | videos真实高潮xxxx | 在线成人www免费观看视频 | 国产日韩欧美 | 久青草免费视频 | 国产亚洲综合精品 | 欧美一级h| 宅男噜噜噜66一区二区 | 成人区精品一区二区婷婷 | japanesexxxx24videofree| 亚洲第一成网站 | 久草在线资源观看 | 欧美日本色 | 香蕉黄色网 | 狼伊千合综网中文 | 中国a级黄色片 | 免费黄色入口 | 国产69精品99久久久久久宅男 | 日韩毛片免费观看 | 久章草在线视频 | 久久久久亚洲a | 天堂亚洲一区 | 狠狠干视频网站 | 91av在线免费播放 | 曰批全过程40分钟免费视频多人 | 欧美一级高清片在线 | 色婷婷综合久久久中字幕精品久久 | 黄色免费影片 | 黑人一区二区 | 一级黄色在线免费观看 | chinese乱子伦xxxx国语对白 | 日本精品视频一区二区三区四区 |