1. 程式人生 > >PHP抓取頁面的幾種方式

PHP抓取頁面的幾種方式


我們在開發網路程式時,往往需要抓取非本地檔案,一般情況下都是利用php模擬瀏覽器的訪問,通過http請求訪問url地址, 然後得到html原始碼或者xml資料,得到資料我們不能直接輸出,往往需要對內容進行提取,然後再進行格式化,以更加友好的方式顯現出來。

下面簡單說一下php抓取頁面的幾種方法及原理:


一、 PHP抓取頁面的主要方法:

1. file()函式    

2. file_get_contents()函式  

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

4.curl方式  

5. fsockopen()函式 socket模式  

6. 使用外掛(如:http://sourceforge.net/projects/snoopy/)


二、PHP解析html或xml程式碼主要方式:

1. file()函式

?
1 2
3 4 5 6 7 8 9
<?php //定義url $url='http://t.qq.com';  //fiel函式讀取內容陣列 $lines_array=file($url);  //拆分陣列為字串  $lines_string=implode('',$lines_array);  //輸出內容,嘿嘿,大家也可以儲存在自己的伺服器上 echo $lines_string; 

 

 

2. file_get_contents()函式
使用file_get_contents和fopen必須空間開啟allow_url_fopen。方法:編輯php.ini,設定 allow_url_fopen = On,allow_url_fopen關閉時fopen和file_get_contents都不能開啟遠端檔案。

?
1 2 3 4 5 6 7 <?php //定義url $url='http://t.qq.com';  //file_get_contents函式遠端讀取資料 $lines_string=file_get_contents($url);  //輸出內容,嘿嘿,大家也可以儲存在自己的伺服器上

相關推薦

PHP頁面方式

我們在開發網路程式時,往往需要抓取非本地檔案,一般情況下都是利用php模擬瀏覽器的訪問,通過http請求訪問url地址, 然後得到html原始碼或者xml資料,得到資料我們不能直接輸出,往往需要對內容進行提取,然後再進行格式化,

php頁面方法詳解

close deb clas win exe _array error: fopen ini 一、 PHP抓取頁面的主要方法:1. file()函數 2. file_get_contents()函數 3. fopen()->fread()->fclose

java 字符串截方式

uil java word before pre ava bce ber tro 1.split()+正則表達式來進行截取。 將正則傳入split()。返回的是一個字符串數組類型。不過通過這種方式截取會有很大的性能損耗,因為分析正則非常耗時。 String str = "a

php連線資料庫的方式

  <?php $name = $_POST["u_name"]; //flag1:$_POST["u_name"] $pass = $_POST["u_pass"]; $sql2 = "select * from admin where username = ? and pas

PHP頁面中a標籤的href屬性值以及a中間內容

$str = file_get_contents($zh_cn_url); $reg1='/<a href=\"(.*?)\".*?>(.*?)<\/a>/i';//匹配所有A標籤 preg_match_all($reg1,$str,$aarray); //這個$a

php檔案匯出的方式

最近需要大資料匯出,於是在網上找了一下,在這進行一下整理,希望可以幫助到大家。 一、PHP 自帶函式 fputcsv 可以實現列印報表(Excel)功能 優點是: 1 執行效率高 2 不需要第三方庫 3 用起來很方便 4 實時生成。用流的形式傳輸 缺點是: 1 在 Linux 執行後,

原生PHP接收$_POST的方式

> HTTP 常見 Content-Type > application/x-www-form-urlencoded> multipart/form-data> application/json > $_POST 預設只能接收到 Conte

PHP頁面內容

什麼叫抓取?        通過PHP程式碼來實現,把其它網頁的內容抓取到本地,抓取的時候需要聯網才可以1.通過file_get_contents()函式實現抓取。        前提:在php.ini中設定允許開啟一個網路的url地址。                   

詳解PHP處理密碼的方式

在 PHP中,經常會對使用者身份進行認證。本文意在討論對密碼的處理,也就是對密碼的加密處理。 MD5 相信很多PHP開發者在最先接觸PHP的時候,處理密碼的首選加密函式可能就是MD5了,我當時就是這樣的: $password = md5($_POST["password"]); 上面這段程式碼是不是很

php 頁面亂碼

在抓取頁面的時候出現類似�������這樣亂碼解決方法如下 1、轉換編碼 str=mbconvertencoding(str, “utf-8”, “GBK”); 2、資料經過gzip壓縮

php中實現頁面跳轉的方式

腳本 timeout location clas replace asc idt lee 實現 親測,not復制粘貼 PHP中實現頁面跳轉有一下幾種方式,看了幾個人寫的不是很條理,自己整理一下 在PHP腳本代碼中實現 <?php header("locati

Python數據的方式

cnblogs 方式 edit api lencod nco financial 取數 .org import urllib.requestresponse = urllib.request.urlopen(‘http://python.org/‘)html = res

php頁面跳轉的方式

@: PHP頁面跳轉的三種方式 第一種方式:header() header()函式的主要功能是將HTTP協議標頭(header)輸出到瀏覽器。 語法: void header ( string $string [, bool $replace =

js頁面跳轉常用的方式

clas amp javascrip () text obj oca var -1 第一種: 代碼如下: <script language="javascript" type="text/javascript"> window.location.href="j

PHP實現定時任務的方式

選項 等待 process 一個 temp 表示 服務器 實現 ref 關於定時任務,之前以前認識了一種最常用的:crontab定時任務。通過linux的定時任務去實現。今天又認識了一下php實現定時方式的其它方式,總結一下。 一 服務器定時任務 服務器定時任務,其實就是u

理解描述頁面元素大小的方式

border title 目錄 .get 等等 wid 技術分享 document utf-8    我們經常可以看到關於描述頁面元素大小的屬性,比如:offsetWidth、clientWidth以及scrollWidth等等。但是,要正確區分它們可能就不是一件容易的

不同頁面之間實現參數傳遞的方式

瀏覽器 行存儲 傳遞參數 如何 數據傳遞 序列 由於 文件中 request對象 由於web系統采用http協議在瀏覽器和服務器之間傳輸數據,而http協議是一種無狀態的協議,如何在不同頁面之間傳遞數據,可以有一下幾種方式: 方式一:表單方式傳遞表單傳遞參數是一種最簡單,也

逆向知識第六講,摸優化的方式

ebp 有符號 基本 什麽是 說了 xxx 個數 color 常量         逆向知識第六講,取摸優化的幾種方式 除法講完之後,直接開始講 % 運算符在匯編中表現形式 首先C的高級代碼貼上來. 高級代碼: // Tedy.cpp : Defines the en

[轉載]ASP.NET頁面之間傳遞值的方式

.html 用戶訪問 暴露 一個 地址 value get .text 而且 頁面傳值是學習asp.net初期都會面臨的一個問題,總的來說有頁面傳值、存儲對象傳值、ajax、類、model、表單等。但是一般來說,常用的較簡單有QueryString,Session,Cook

用js實現頁面跳轉的方式

head 註意 ont rem text pla http bsp cat 通過js或者html或者PHP等動態程序都可以方便的實現跳轉,這裏搜集了幾種頁面跳轉的方式js方式的頁面跳轉1.window.location.href方式 <script langua