PHP – Ví Dụ Lấy Dữ Liệu Từ RSS | Share To Be Shared - Bùi Đức Hiếu

Xin chào các bạn, trong ví dụ này mình sẽ hướng dẫn các bạn cách thức lấy dữ liệu từ nguồn RSS của các website khác, cụ thể ở đây là từ RSS của trang báo dantri.com.vn
Bước 0. Chuẩn bị
– Kiến thức về RSS: tham khảo tại đây
– Cách thức xây dựng App dựa trên CMS của mình (mình sẽ bổ xung tut về chủ đề này sau nhé :D)
Bước 1: Thiết kế giao diện
Các bạn thiết kế giao diện bao gồm những thành phần sau:

Tải RSS
Danh sách tin tức| STT | Hình ảnh | Tiêu đề | Link |
|---|
Bước 2: Code file Controller (test_rss.php)
class Test_rssApp extends AppObject{ public $app_name="test_rss"; public function __construct(){ parent::__construct(); } public function display(){ $this->dir_layout="admin_trananh"; $this->layout="layout_admin"; $this->view="default"; $view = isset($_REQUEST["view"])?$_REQUEST["view"]:"default"; if($view!="ajax"){ $this->view=$view; parent::display(); }else{ $task=isset($_REQUEST["task"])?$_REQUEST["task"]:"task"; switch ($task) { case "rss": $kq = $this->RSS_get(); echo json_encode($kq); break; default: break; } } } function RSS_get(){ $chude= $_REQUEST['chu_de']; $xml = ""; switch ($chude) { case "sukien": $xml = "http://dantri.com.vn/su-kien.rss"; break; case "xahoi": $xml = "http://dantri.com.vn/xa-hoi.rss"; break; case "thegioi": $xml = "http://dantri.com.vn/the-gioi.rss"; break; default: $xml = "http://dantri.com.vn/su-kien.rss"; break; } $xmlDoc = simplexml_load_file($xml); $_rs = array(); foreach($xmlDoc->channel->item as $value){ //print_r($value); $itemTitle = (string)$value->title; $itemLink = (string)$value->link; $itemDescription = (string)$value->description; $_item = array("tieude"=>$itemTitle,"mota"=>$itemDescription,"link"=>$itemLink); //echo($itemTitle); array_push($_rs,$_item); } return $_rs; } }Bước 3: Code JS script client tại view (file default.php)
function Rss_get() { var _gui = {}; var request = $.ajax({ url: "?app=dm_hang&task=tim&view=ajax", // Địa chỉ file xử lý ajax request type: "POST", // Giao thức gửi data: _gui, dataType: "html" }); // Nếu gửi thành công request.done(function (ketqua) { // convert chuỗi kết quả thành mảng console.log(ketqua); var DS = $.parseJSON(ketqua); var _html = ""; for (var i = 0; i < DS.length; i++) { var sv = DS[i]; _html += ''; _html += '' + (i + 1) + ' '; _html += '' + sv.ma_danh_muc + ' '; _html += '' + sv.ten_danh_muc + ' '; _html += ''; _html += '<img src="' + sv.hinh_anh + '" alt="hinhanh" width="70" height="50" />'; _html += ' '; _html += ''; _html += '</pre> <div class="btn-group dropup"> '; _html += '<i class="fa fa-bars m-r-5"></i> '; _html += ' <ul class="dropdown-menu" role="menu"> '; _html += ' <li><a href="#"><i class="fa fa-trash"></i> Xóa </a></li> '; _html += ' <li><a href="#"><i class="fa fa-lock"></i> Khóa</a></li> '; _html += ' <li><a class="btnSua" href="#"><i class="fa fa-edit"></i> Sửa</a></li> '; _html += '</ul> '; _html += '</div> <pre> '; _html += ' '; _html += ' '; } // Chèn dữ liệu vào bảng $('#tblDanhSach tbody').html(_html); }); // Nếu gửi thất bại request.fail(function (jqXHR, textStatus) { alert("Lỗi tại server: " + textStatus); }); } $(function () { $('#btn_RSS').on('click',function(){ var _chude = $('#sel_ChuDe').val(); alert(_chude); var _gui = {chu_de:_chude}; var request = $.ajax({ url: "?app=test_rss&task=rss&view=ajax", // Địa chỉ file xử lý ajax request type: "POST", // Giao thức gửi data: _gui, dataType: "html" }); // Nếu gửi thành công request.done(function (ketqua) { // convert chuỗi kết quả thành mảng var _rs = JSON.parse(ketqua); console.log(_rs); var _html = ''; for (var i = 0; i < _rs.length; i++) { var _item = _rs[i]; _html +=''; _html +=''+(i+1)+' '; _html +=''+_item.mota+' '; _html +=''+_item.tieude+' '; _html +='<a href="'+_item.link+'" target="_blank" rel="noopener"> Xem</a> '; _html +=' '; } $('#tblDanhSach tbody').html(_html); }); // Nếu gửi thất bại request.fail(function (jqXHR, textStatus) { alert("Lỗi tại server: " + textStatus); }); }); });Bước 4: Kiểm tra kết quả:

Source code các bạn có thể tham khảo tại đây:
https://github.com/buiduchieuvnu/php1017e/tree/thay_hieu/app/test_rss
Chúc các bạn thành công!
Chia sẻ:
- X
Có liên quan
Từ khóa » đọc Rss Trong Php
-
Code đọc Tin Rss Bằng PHP - Thiết Kế Website
-
RSS Là Gì? Cách Tạo RSS Cho Website PHP
-
Giúp Mình Code Php đọc RSS Xuất Ra Html để Nhúng
-
RSS Reader Trong PHP, đọc RSS Của Web .vn - YouTube
-
Xin Bài Hướng Dẫn Về Laravel Dùng RSS Lấy Dữ Liệu Vào Web - Viblo
-
RSS Là Gì? Cách Cài đặt, Sử Dụng Và Lấy RSS Feeds Cho WordPress
-
PHP - Cách Tối ưu Hóa RSS Feed Trong WordPress - VietNetwork.Vn
-
Rss PHP Hướng Dẫn Tạo Rss Trong PHP - Học Làm
-
Hướng Dẫn Tạo RSS Cho Trang Web - MegaCode
-
PHP/MySQL – Import RSS Feed Vào Database Với XPath
-
RSS Là Gì? Hướng Dẫn Cài đặt & Sử Dụng RSS Mới Nhất - FPT Cloud
-
Cách đọc Danh Sách Gửi Thư Dưới Dạng RSS - HelpEx
-
RSS Từ A-Z: RSS Là Gì? Cách đọc Tin Bằng RSS Là Gì