程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 如何正確實現PHP獲取博客數據

如何正確實現PHP獲取博客數據

編輯:關於PHP編程

目前很多的網站提供免費個人博客服務,如Google,新浪,網易等等,如何將免費的博客充分利用起來,需要我們在使用過程中不斷總結和思考,對於 程序員來說,如何使用PHP獲取Blogger博客RSS或Atom數據顯得非常重要,在這裡簡單的跟大家介紹一下使用PHP獲取blogger博客 RSS或Atom數據的基本方法,以PHP獲取google的Blogger博客數據為實例,了解PHP獲取RSS或Atom數據的基本原理,供參考。

PHP獲取博客數據使用前提

有一個Google的Blogger免費空間。
獲取免費空間的RSS或Atom地址http://shifen.blogspot.com/feeds/posts/default

PHP獲取博客數據實例代碼

  1. $blogUrl = 'http://shifen.blogspot.
    com/feeds/posts/default';   
  2. $atom = simplexml_load_file ( $blogUrl );   
  3. $atom->registerXPathNamespace (
     'atom', 'http://www.w3.org/2005/Atom' );   
  4. $title = $atom->title;   
  5. $subtitle = $atom->subtitle;   
  6. $blogFeeds = $atom->link [0] [href];   
  7. $blogURL = $atom->link [2] [href];   
  8. $blogNextURL = $atom->link [3] [href];   
  9. $entrys = $atom->xpath ( '//atom:entry' );  

PHP獲取博客數據代碼分析

1,定義博客blogger地址,如:$blogUrl = 'http://shifen.blogspot.com/feeds/posts/default';

2,使用PHP內置simplexml_load_file函數將blogger的XML數據轉化成對象。

simplexml_load_file相關知識(具體查看PHP手冊)
說明:simplexml_load_file 將一個XML文檔裝載入一個對象中。
原型:simplexml_load_file ( filename [,class_name [,options [, ns [, is_prefix]]]] )

3,使用PHP內置registerXPathNamespace函數為下一次 XPath 查詢創建命名空間語境。與前面simplexml_load_file函數組合,支持提供命名空間,Blogger的命名空間使用的是http://www.w3.org/2005/Atom,便於調用Blogger的RSS或Atom數據。

4,獲取Blogger的RSS或Atom數據。

(1)獲取Blogger博客空間標題,如:$atom->title,返回:十分愉快
(2)獲取Blogger博客空間次標題,如:$atom->subtitle,返回:學學東西總是好的,能讓你十分愉快!
(3)獲取Blogger博客RSS地址,如:$atom->link [0] [href],返回:http://shifen.blogspot.com/feeds/posts/default
(4)獲取Blogger博客URL地址,如:$atom->link [2] [href],返回:http://shifen.blogspot.com/
(5)獲取Blogger博客RSS的下一頁地址,如:$atom->link [3] [href],返回:http://shifen.blogspot.com/feeds/posts/default?start-index=26&max-results=25
(6)獲取Blogger博客文章內容,如:$atom->xpath ( '//atom:entry' ),返回文章數組,默認最新發布的25篇文章。

上面PHP獲取博客數據實例可知,PHP獲取Blogger博客RSS或Atom數據使用simplexml_load_file和registerXPathNamespace兩個內置函數即可輕松實現。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved