PDA

View Full Version : Giải pháp tin tức cho trang web của bạn



coderhn
27-10-2007, 13:52
Bạn là lập trình viên chuyên làm web cho công ty doanh nghiệp? Để giải quyết chức năng khai thác tin tức mới cho đối tác làm web, bạn dùng cách nào? Tự code lấy chương trình móc tin mới từ các báo hay bắt đối tác copy nội dung tin tức mới từ các báo vào web của họ? Cách giải quyết tốt nhất và cực kỳ nhẹ nhàng là bạn dùng tool tin tức tự động của FPT Online.
Google và Yahoo là 2 đại gia lớn trong lĩnh vực online, họ có các bộ máy hoạt động tốt và để chia sẻ cho cộng đồng, họ cho các lập trình viên khai thác API của họ, đó là lý do GateNews của FPT Online thực hiện public API móc tin tự động.


1/ Giới thiệu về news.gate.vn
- GateNews là trang tổng hợp tin tức từ rất nhiều các nguồn báo lớn trong nước như VNexpress, Tuổi trẻ, Dân trí, Tiền phong, 24h, Lao động, VTCnews, VTV, ... và nhiều nguồn báo khác nữa. Lượng tin tức hàng ngày GateNews tổng hợp được là rất lớn và đa dạng, là những phản ảnh chính xác và đa chiều từ các báo lớn, giúp cho người đọc có cách nhìn tổng quát hơn về thông tin cần khai thác.
- Các kênh chuyên mục của GateNews phong phú, đa dạng và chắt lọc.
- Chức năng tùy biến nội dung giúp cho độc giả đến với GateNews có thể nhanh chóng khai thác thông tin theo sở thích đọc tin, chuyên mục ưa thích và các nội dung nóng đang xảy ra. Người dùng có thể tùy biến chuyên mục muốn đọc, nguồn báo cần khai thác, số tin hiển thị và các thông tin tùy biến này được lưu lại theo cách mà lần sau bạn có thể tiếp cận thông tin ưa thích muốn đọc ngay vào GateNews. Bên cạnh đó GateNews có tới 5 giao diện và màu sắc hài hòa cho bạn tùy biến theo phong cách và sở thích của trang báo bạn mong muốn.
- Chức năng xuất nội dung tin cho các trang web công ty doanh nghiệp mới được phát triển giúp cho các lập trình viên nhanh chóng đưa tin mới hàng phút tới với trang web của mình hoặc khách hàng của mình. Nội dung tin chi tiết được hiển thị ngay trên giao diện của trang web. Chức năng này giống với API của google, yahoo, có nghĩa là bạn chỉ cần chèn các javascript vào trang và tùy biến chuyên mục, nguồn báo và số tin hiển thị, hàng phút tin tức mới hoặc tin tức nóng sẽ được hiển thị trên trang web của bạn.


2/ Đưa tin tức mới (hoặc tin nóng) vào web của bạn

Bạn có thể tham khảo hướng dẫn chi tiết tại http://news.gate.vn/api
Đây là url nói chi tiết về các tool hỗ trợ cho lập trình viên khai thác nội dung trên news.gate.vn
Sau đây xin hướng dẫn qua cách khai thác tin trên GateNews:

Bước 1: Hiển thị tin mới hoặc tin nóng của GateNews trên web
1/ Chèn định dạng (Style) cho nội dung hiển thị
Tùy vào template (có 5 mẫu là temp1 đến temp5) bạn chọn mà bạn cần các định dạng hiển thị tương ứng vào web, tại đây bạn sửa đổi theo style của trang web như kiểu chữ, màu chữ, cỡ chứ, nút hiển thị, tiêu đề, tóm tắt, ảnh, .... Bạn có thể chèn luôn vào web hoặc copy thành file css rồi include vào web.
ví dụ:
<style>
.Title2
{
margin-top: 2px;
margin-bottom: 2px;
font-family: Arial;
font-size: 12px;
}
.Title2 a:link , .Title2 a:visited
{
color: #000001;
text-decoration: none;
}
.Title2 .Arrow
{
float:left;
padding: 8px 3px 0px 3px;
background: url(/images/arrow3.gif) no-repeat 0px 3px;
width: 9px;
height: 9px;
}
.Title2 a:hover
{
color: #02629d;
text-decoration: underline;
}
</style>


2/ Chèn Javascript để lấy tin mới hoặc tin nóng
Đoạn JS sẽ có cấu trúc như sau:
<div id="<ID duy nhất cho thẻ chứa tin hiển thị>"></div>
<script type="text/javascript" language="javascript" src="http://news.gate.vn/Api/System.GateNews.Lib.js"></script">
<script type="text/javascript" language="javascript">
new GateNewsLib.${0}(
'{1}',
'{2}',
'{3},
{4},
'{5}',
'{6}');
</script>
Chú thích:

{0}:NewNews hoặc HotNews là 2 hàm lấy tin mới nhất hoặc tin nóng nhất trên GateNews
{1}: ID của thẻ HTML ở trên đã khai báo để chứa nội dung hiển thị (đặt trong cặp nháy đơn)
{2}:Các chuyên mục các nhau bởi dấu phẩy, nếu để rỗng sẽ lấy tất cả chuyên mục (đặt trong cặp nháy đơn)
{3}:Các nguồn báo các nhau bởi dấu phẩy, nếu để rỗng sẽ lấy của tất cả các nguồn báo (đặt trong cặp nháy đơn)',
{4}: Số lượng tin cần lấy (< 20)
{5}:Địa chỉ URL của nguồn hiển thị tin chi tiết trên web của bạn, nếu là rỗng khi click vào link xem tin chi tiết sẽ mở của sổ mới và nhảy về xem tin chi tiết trên http://news.gate.vn, nếu bạn để rỗng thì không cần bước 2 nữa (đặt trong cặp nháy đơn)
{6}:Các định dạng dữ liệu GateNews hỗ trợ, hiện có temp1 tới temp5 (đặt trong cặp nháy đơn)

Ví dụ:
<div id="TheChuaNoiDungHienThi" style="width: 500px;"></div>
<script type="text/javascript" language="javascript" src="http://news.gate.vn/Api/System.GateNews.Lib.js"></script>
<script type="text/javascript" language="javascript">
new GateNewsLib.$NewNews(
'TheChuaNoiDungHienThi',
'TheGioi,XaHoi',
'',
10,
'/tinchitiet.htm',
'temp5');
</script>

Thực hiện lấy 10 tin tức mới trong chuyên mục TheGioi và XaHoi của tất cả các nguồn báo và đưa vào thẻ DIV có id là 'TheChuaNoiDungHienThi', định dạng dữ liệu lấy tin là temp5


Bước 2: Hứng tin chi tiết trên trang của bạn Thực hiện chèn đoạn js có cấu trúc như sau vào trang hứng tin (chú ý trang hứng tin đã được khai báo URL ở đoạn Script trước)
<script type="text/javascript" language="javascript" src="http://news.gate.vn/Api/System.GateNews.Lib.js"></script">
<div id="<ID duy nhất cho thẻ chứa tin hiển thị>"></div><script language="javascript" type="text/javascript">
new GateNewsLib.$GetContent(
'{1}',
'{2}',
'{3}',
'{4}');
</script>
Chú thích:

{1}:ID của thẻ DIV ở trên đã khai báo để chứa nội dung hiển thị (đặt trong cặp nháy đơn)
{2}:Địa chỉ URL của nguồn hiển thị tin trên web của bạn, nếu là rỗng sẽ trỏ tới http://news.gate.vn, cái này để cho người dùng đọc các tin liên quan vẫn trỏ vào trang web này, url khai báo thường chính là Url đến trang hiện tại này. (đặt trong cặp nháy đơn)
{3} và {4} lần lượt là chiều rộng và chiều cao của khung hiển thị tin chi tiết tính theo PX (đặt trong cặp nháy đơn)

Ví dụ
<div id="GateNewsContent"></div>
<script type="text/javascript" language="javascript" src="http://news.gate.vn/Api/System.GateNews.Lib.js"></script>
<script language="javascript" type="text/javascript">
new GateNewsLib.$GetContent(
'GateNewsContent',
'/tinchitiet.htm',
'580px',
'800px');
</script>


Thực hiện lấy tin chi tiết và đặt trong khung DIV có ID là GateNewsContent, khung này có chiều rộng và cao lần lượt là 580px 800px, tin liên quan được link tiếp tục tới /tinchitiet.htm

Ví dụ website đã sử dụng tool của news.gate http://nacowood.com/home

Trên đây là hướng dẫn qua về cách thức nhúng tin tức của news.gate.vn vào trang web, các bạn nên tham khảo kỹ hơn tại http://news.gate.vn/api.


Chúc các bạn thành công...!

evodanh
27-10-2007, 18:33
Trang này ai viết hay đấy.

pitagoever
27-10-2007, 22:37
quảng cáo ah ^^. share kiểu này chẳng làm ăn được gì, nếu share api thì làm cho đàng hoàng luôn đi các pác. phí thời gian đọc topic này.

coderhn
28-10-2007, 08:34
Cực kỳ đơn giản, có code example đây mà (kể cả chạy file index.htm ở ngay trên máy cũng được, khỏi cần trỏ web server)
Tải tại đây: http://news.gate.vn/API/demo/test1.rar

file index.htm
<html>
<head>
<title>Gate News Demo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body> Tin mới
<div id="TinNoiBat" style="padding:5px;"></div>
<script type="text/javascript" language="javascript" src="http://news.gate.vn/Api/System.GateNews.Lib.js"></script>
<script type="text/javascript" language="javascript">
new GateNewsLib.$NewNews(
'TinNoiBat',
'TheGioi,KinhDoanh,VanHoa,XaHoi,PhapLuat,TheThao,K hoaHoc,SucKhoe,OToNhaDat',
'',
6,
'content.htm',
'temp1');
</script>
</body>
</html>

file content.htm
<html>
<head>
<title>Content</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<script type="text/javascript" language="javascript" src="http://news.gate.vn/Api/System.GateNews.Lib.js"></script>
<div id="GateNewsContent"></div>
<script language="javascript" type="text/javascript">
new GateNewsLib.$GetContent(
'GateNewsContent',
'content.htm',
'580px',
'800px');
</script>
</body>
</html>

langtuxuthanh
29-10-2007, 14:57
Cũng tạm được đó nhưng bạn có thể phát triển tiếp cho nó hoàn thiện nhé! OK

coderhn
30-10-2007, 06:47
Tui đi thuổng của họ về thôi mà, có bít gì đâu, ai bít thì chỉ cho chúng tôi cùng làm với. Hì hì

coderhn
03-11-2007, 07:32
Ha ha, source trang này mua lại của bọn Tầu rồi nên mới chạy ổn thế chứ.hihi, thế thì ko cần vọc nữa.

germini
04-11-2007, 11:37
Xài được vài ngày, đến hôm nay thì ko update tin tức được nữa, chả biết là lổi gì, tin củ vẫn hiện

coderhn
04-11-2007, 13:57
Ông bác có nhầm không? Em dùng cho khách hàng vẫn ngon mà, link khách hàng của em đây. http://nacowood.com/Home/ Bác dùng cho khách hàng bác ở địa chỉ nào? Chắc bác nhầm lẫn gì rồi. Ha ha, code của bọn Tầu thì không lởm lắm đâu.

Adam
04-11-2007, 14:29
Nói chung là tất cả ngu như bò...biết con cặc chi mà nói hả mấy con chó kia !

Về nhà phụ mẹ nấu cơm đi, ở đây tào lao ko

Thành viên cần theo dõi.Chí phèo công nghệ cao

germini
04-11-2007, 17:11
Xem đây nè : http://chaudocinfo.com/ ngay trang chủ và Mục TIN KHÁC. 2 ngày nay có thấy update gì đâu
trước đó cứ update òanh oạch, vài giờ là có tin mới, chả hiểu thế nào nữa, em có đổi code gì đâu :(

coderhn
05-11-2007, 09:37
Xem đây nè : http://chaudocinfo.com/ ngay trang chủ và Mục TIN KHÁC. 2 ngày nay có thấy update gì đâu
trước đó cứ update òanh oạch, vài giờ là có tin mới, chả hiểu thế nào nữa, em có đổi code gì đâu :(
Đây là đoạn JS bác chèn vào web đúng ko?
<div id="TinNoiBat" style="padding:5px;"></div>
<script type="text/javascript" language="javascript" src="http://news.gate.vn/Api/System.GateNews.Lib.js"></script>
<script type="text/javascript" language="javascript">
new GateNewsLib.$NewNews(
'TinNoiBat',
'TheGioi,KinhDoanh,VanHoa,XaHoi,PhapLuat,TheThao,K hoaHoc,SucKhoe,OToNhaDat',
'NgoiSao,VnExpress',
5,
'index.php',
'temp2');
</script>

Cái chỗ cho chọn nguồn báo ấy, bác cho nhiều nhiều nguồn theo họ vào chứ, tốt nhất là để rỗng để lấy hết luôn. Chắc mấy hôm trước lỗi là do 2 nguồn báo này ko cập nhật tin mới, tôi vừa vào thấy ngon mà, tin tức hiển thị rất đủ mà.
Còn nữa, ko có chuyên mục SucKhoe thì phải.
link của em dùng vẫn ngon, đều như vắt chanh :D