Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ   Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ
Trang Chủ Giới Thiệu Chương Trình Học Tài Liệu Tin Tức F.A.Q Lịch Khai Giảng Học Phí Việc Làm Liên Hệ

Go Back   Trung Tâm Đào Tạo Mạng Máy Tính Nhất Nghệ > WEB - ĐỒ HỌA - LẬP TRÌNH > Web Development > PHP
Đăng Ký Thành Viên Thành Viên Lịch Ðánh Dấu Ðã Ðọc

Vui lòng gõ từ khóa liên quan đến vấn đề bạn quan tâm vào khung dưới , trước khi đặt câu hỏi mới.


Trả lời
 
Ðiều Chỉnh
  #1  
Old 25-05-2011, 16:16
tranvu-nn's Avatar
tranvu-nn tranvu-nn vẫn chưa có mặt trong diễn đàn
Moderator
 
Tham gia ngày: Aug 2010
Tuổi: 27
Bài gởi: 764
Thanks: 49
Thanked 483 Times in 215 Posts
Hướng dẫn viết code lấy RSS tự động từ VNEXPRESS bằng PHP

Bạn luôn muốn trang web mình luôn tự động cập nhật những tin mới nhất từ 1 trang báo thì RSS là 1 phương thức hỗ trợ ta tốt nhất!!!!!
Nhưng ta lấy bằng cách nào khi website mình làm bằng PHP còn VNEXPRESS thì bằng ASP!!!!

-Cách duy nhất là ta sử dụng XML!! Dùng thư viện DOM của PHP

Trước khi vào code lấy RSS tự động từ VNEXPRESS thì mình sẽ hướng dẫn các bạn cách tạo ra 1 cấu trúc file xml bằng PHP




Công dụng của XML bạn có thể tham khảo ở đây
http://www.echip.com.vn/echiproot/we...99/xml/xml.htm

Giả sử ta muốn tạo 1 cấu trúc file xml như sau:



Giải thích các thuộc tính của cấu trúc file XML







Bắt đầu

Bước 1: Trước tiên là ta phải tạo 1 root Element có tên là nhatnghe

-Sau khi tạo site php bằng DW ! bạn tạo 1 trang trắng xóa hết nội dung và đặt tên là :createxml.php

Gõ đoạn code sau vào
PHP Code:


    $dom
=new DOMDocument('1.0','utf-8');//tao doi tuong dom
    
$nhatnghe=$dom->createElement('nhatnghe');//tao root elelment  nhatnghe
    
$dom->appendChild($nhatnghe);//Vi root element ko co cha nen ta se gan vao doi tuong dom de hien thi
         
$khaigiang=$dom->createElement('khaigiang');//tiep tuc tao element khai giang
         
$nhatnghe->appendChild($khaigiang);//gan element khaigiang vao doi tuong cha nhatnghe
         
$khaigiang->setAttribute('id',1);// dat thuoc tinh cho id=1 cho  element khai giang
         
$lop=$dom->createElement('lop');//tiep tuc tao element lop
         
$khaigiang->appendChild($lop);//gan element lop vao doi tuong cha khaigiang
         
         
$lop_value=$dom->createTextNode('PHP NANG CAO');//tao 1 value ten la php nang cao
         
$lop->appendChild($lop_value);// gan value do vao element lop




    
$dom->formatOutput=true;// sau moi element se tu dong xuogn hang
    
$dom->saveXML();
    
$dom->save('nhatnghe.xml');// tu dong tao 1 file co ten la nhatnghe.xml 

Bây giờ bạn có thể test thử!!!! Sau khi chay trang createxml.php !! F5 lại khung file bạn sẽ thấy xuất hiện 1 file nhatnghe.xml
KQ


Như vậy bạn đã thành công khi tạo 1 cấu trúc xml cơ bản!!!
Và code sau khi hoàn thành là:

PHP Code:

    $dom
=new DOMDocument('1.0','utf-8');//tao doi tuong dom
    
$nhatnghe=$dom->createElement('nhatnghe');//tao root elelment  nhatnghe
    
$dom->appendChild($nhatnghe);//Vi root element ko co cha nen ta se gan vao doi tuong dom de hien thi
         
$khaigiang=$dom->createElement('khaigiang');//tiep tuc tao element khai giang
         
$nhatnghe->appendChild($khaigiang);//gan element khaigiang vao doi tuong cha nhatnghe
         
$khaigiang->setAttribute('id',1);// dat thuoc tinh cho id=1 cho  element khai giang
         
$lop=$dom->createElement('lop');//tiep tuc tao element lop
         
$khaigiang->appendChild($lop);//gan element lop vao doi tuong cha khaigiang
         
         
$lop_value=$dom->createTextNode('PHP NANG CAO');//tao 1 value ten la php nang cao
         
$lop->appendChild($lop_value);// gan value do vao element lop
         
         ////////////////////
         
          
$khaigiang=$dom->createElement('khaigiang');
         
$nhatnghe->appendChild($khaigiang);
         
$khaigiang->setAttribute('id',2);
         
$lop=$dom->createElement('lop');
         
$khaigiang->appendChild($lop);
         
         
$lop_value=$dom->createTextNode('WEB DOANH NGHIEP');
         
$lop->appendChild($lop_value);
         
         
///////////////////////////
         
          
$khaigiang=$dom->createElement('khaigiang');
         
$nhatnghe->appendChild($khaigiang);
         
$khaigiang->setAttribute('id',3);
         
$lop=$dom->createElement('lop');
         
$khaigiang->appendChild($lop);
         
         
$lop_value=$dom->createTextNode('JOOMLA');
         
$lop->appendChild($lop_value);
         
         
        
    
    
    
    
$dom->formatOutput=true;// sau moi element se tu dong xuogn hang
    
$dom->saveXML();
    
$dom->save('nhatnghe.xml');// tu dong tao 1 file co ten la nhatnghe.xml 
Tiếp theo mình sẽ hướng dẫn các bạn code php tự động lấy RSS từ trang web khác(VNEXPRESS) bằng PHP

Trước tiên ta phân tích cấu trúc XML của trang vnexpress




Ở đây ta có 1 Root Element tên là item
-Trong Root Element có các Element con là title,description,link..

Bắt đầu
Bước 2:Tạo 1 file mới có tên là rss.php gõ đoạn code sau vào

PHP Code:
<?
    $dom=new DOMDocument('1.0','utf-8');//tao doi tuong dom
    $dom->load('http://vnexpress.net/rss/gl/trang-chu.rss')    ;//muon lay rss tu trang nao thi ban khai bao day
    $items = $dom->getElementsByTagName("item");//lay cac element co tag name la item va gan vao bien $items
    foreach($items as $item)//lap
    {
        $titles=$item->getElementsByTagName('title');//lay cac element co tag name la title va gan vao bien $titles
        $title=$titles->item(0);//lay ra gia tri dau tuien trong array $titles
        $descriptions=$item->getElementsByTagName('description');
        $des=$descriptions->item(0);
        
                
        
        $links=$dom->getElementsByTagName('link');
        $link=$links->item(0);
    
?>

<table width="800" border="1">
  <tr>
    <td style="color:#FF0000; font-weight:bold; text-decoration:none"><a href="<?  echo $link->nodeValue ;?>" /><? echo $title->nodeValue ?></td>
  </tr>
  <tr>
    <td><? echo $des->nodeValue ?></td>
  </tr>
</table>
 <?
 }
?>
Bây giờ thì bạn có thể test thử rồi !!! chỉ cần định dạng CSS và include file này vào trang web của mình là lúc nào trang web cũng có tin mới nhất từ VNEXPRESS

thay đổi nội dung bởi: tranvu-nn, 25-05-2011 lúc 16:23
Trả Lời Với Trích Dẫn
Đã có 3 người gửi lời cảm ơn tranvu-nn vì bài viết hữu ích này:
Sponsored links
  #2  
Old 01-06-2011, 09:18
chuong50237 chuong50237 vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Dec 2010
Bài gởi: 21
Thanks: 8
Thanked 0 Times in 0 Posts
Vậy còn đưa vào database như thế nào vậy anh vũ
Trả Lời Với Trích Dẫn
  #3  
Old 03-06-2011, 15:48
thanhlove124 thanhlove124 vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Aug 2010
Tuổi: 27
Bài gởi: 13
Thanks: 1
Thanked 0 Times in 0 Posts
rss

e làm được rồi nhưng còn vấn đề này mong a chỉ giúp : lấy đựoc tin của vnexpress nhưng nhìu tin quá cần phân trang nhưng e ko bit' phải phân trang sao đây thường thì select * from trong csdl nhưng tin này lấy của vnexpress đâu có trong csdl của e nên e ko bit query thế nào mong a chỉ e cách giải quyết.thank
Trả Lời Với Trích Dẫn
  #4  
Old 12-06-2011, 14:20
tolatungs tolatungs vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: May 2011
Tuổi: 23
Bài gởi: 19
Thanks: 4
Thanked 3 Times in 2 Posts
chưa xem qua code nhưng bạn thử dùng for xem
Trả Lời Với Trích Dẫn
  #5  
Old 04-07-2011, 10:25
thien9 thien9 vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Nov 2007
Bài gởi: 21
Thanks: 6
Thanked 1 Time in 1 Post
Trên title vẫn không có lấy được link bạn ơi :-S. Cái link nó hông có đúng thứ tự với bài viết bạn nào biết chỉ mình sửa lại với :-S

thay đổi nội dung bởi: thien9, 04-07-2011 lúc 14:52
Trả Lời Với Trích Dẫn
  #6  
Old 04-04-2012, 14:21
linhjasmine linhjasmine vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Apr 2012
Tuổi: 25
Bài gởi: 12
Thanks: 2
Thanked 0 Times in 0 Posts
[QUOTE=tiniton;748015]Lấy RSS của trang khác thì em làm theo hướng dẫn của thầy thấy okie, nhưng giờ em muốn làm 1 RSS cho trang riêng của mình thì sao ạ.
Xin thầy và các bạn chỉ giúp, em cám ơn

________________________

thì cau link file xml của cậu vào thay vi link cua vnexpress rồi chỉnh lại tên các element cho đúng trong file xml . tớ nghĩ thế
Trả Lời Với Trích Dẫn
  #7  
Old 08-05-2012, 08:05
lpit18 lpit18 vẫn chưa có mặt trong diễn đàn
Mới Đăng Ký
 
Tham gia ngày: Mar 2012
Tuổi: 23
Bài gởi: 8
Thanks: 1
Thanked 0 Times in 0 Posts
ai làm được rồi có thể chỉ mình với k ?, sao file createxml của mình chạy ko được vậy ? Gõ code vào thì nó hiện toàn bộ những thứ gõ vào, và file rss.php cung vậy, help me ...!
Trả Lời Với Trích Dẫn
  #8  
Old 14-06-2012, 22:44
rongbatkhuat rongbatkhuat vẫn chưa có mặt trong diễn đàn
Mới Đăng Ký
 
Tham gia ngày: Jun 2012
Tuổi: 26
Bài gởi: 5
Thanks: 0
Thanked 0 Times in 0 Posts
thây cho em hỏi là em đã làm giống thầy chạy trên localhost thì được nhưng đưâ lên host lại ko xuất hiện, bạn nào biết chỉ giúp mình
Trả Lời Với Trích Dẫn
  #9  
Old 27-06-2012, 23:44
boy10marks boy10marks vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Jun 2011
Bài gởi: 61
Thanks: 19
Thanked 1 Time in 1 Post
Làm theo nhưng chỉ lấy được mỗi mẩu tin đầu tiên.

Còn cái dòng này


Trích:
<tr>
<td style="color:#FF0000; font-weight:bold; text-decoration:none"><a href="<? echo $link->nodeValue ;?>" /><? echo $title->nodeValue ?></td>
</tr>

Phải như thế này mới xuất hiện clickable link.

Trích:
<tr>
<td style="color:#FF0000; font-weight:bold; text-decoration:none"><a href="<? echo $link->nodeValue ;?>" ><? echo $title->nodeValue ?></a></td>
</tr>
Trả Lời Với Trích Dẫn
  #10  
Old 02-07-2012, 18:19
boy10marks boy10marks vẫn chưa có mặt trong diễn đàn
Thành Viên Mới
 
Tham gia ngày: Jun 2011
Bài gởi: 61
Thanks: 19
Thanked 1 Time in 1 Post
include vào web cũng ko được.
Trả Lời Với Trích Dẫn
Sponsored links
Trả lời

Bookmarks

Ðiều Chỉnh

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người Gởi Chuyên mục Trả lời Bài mới gởi
Lab lấy tin tự động từ vnexpress.net đổ vào database. o0o_khoaphp_o0o Lớp Web Doanh Nghiệp 56 04-05-2013 21:46
[Discuss] Tổng Hợp những phần mềm portable hay năm 2010 ==> pro900 Softwares - Tools 11 21-12-2011 03:15
Hướng dẫn Tạo usb hiren boot 10 với 1 click chuột boycaonguyen88 Client Operating System 0 14-05-2010 11:53
Từ BOOTP đến DHCP vuivemai KHO LAB NHẤT NGHỆ 0 21-08-2009 00:28



Múi giờ GMT +7. Hiện tại là 17:19
Powered by: vBulletin Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Ad Management by RedTyger