Vnstock News thế hệ 5
Mục lục
Việc theo dõi tin tức tài chính từ nhiều kênh thông tin khác nhau thường làm bạn mất nhiều thời gian
chuyển đổi qua lại giữa các trang web. vnstock_news hỗ trợ bạn đơn giản hoá công việc này: sắp xếp
danh sách tin mới từ các trang tin bạn chọn vào một bảng pandas.DataFrame
trên máy tính của bạn.
Bảng nhận về gồm tiêu đề, tóm tắt, thời gian xuất bản và đường dẫn bài viết, giúp bạn lọc thông tin phục vụ nghiên cứu cá nhân, rồi bấm vào liên kết để đọc bài tại trang gốc.
Thư viện vnstock_news hiện chỉ áp dụng cho người dùng bản Mở rộng thuộc chương trình tài trợ từ cấp Silver trở lên (Silver, Golden, Diamond). Người dùng chưa đăng nhập hoặc thuộc cấp Khách, Cộng đồng và Bronze sẽ nhận thông báo NEWS_TIER_REQUIRED khi gọi hàm.
Phần mềm giúp ích cho bạn như thế nào
- Theo dõi đa nguồn trong một câu lệnh: Thay vì kiểm tra từng trang web, bạn có thể lấy danh sách tin mới từ các trang tin bạn chọn chỉ với một lời gọi hàm.
- Lọc tin mới linh hoạt theo thời gian: Dễ dàng lọc các bài viết đăng trong khoảng thời gian mong muốn (ví dụ: trong 2 giờ qua, nửa ngày qua) để cập nhật diễn biến thông tin thị trường theo từng phiên.
- Chuẩn hoá thời gian theo giờ Việt Nam: Thời gian phát hành được chuẩn hoá theo giờ Việt Nam (UTC+07:00), giúp bạn đối chiếu tin tức đúng theo trình tự diễn biến thực tế.
- Tôn trọng chỉ dẫn của trang tin: Thư viện tự đọc các chỉ dẫn truy cập trong
robots.txtvà giãn nhịp yêu cầu ở mức hợp lý để không gây tăng tải cho trang tin.
Trải nghiệm sử dụng ở thế hệ 5
| Nhu cầu của bạn | Bản cũ (2.x) | Thế hệ 5 (3.x) |
|---|---|---|
| Cách viết mã | Phải cấu hình nhiều lớp đối tượng phức tạp | Hai hàm tinh gọn: fetch_feeder() (lấy danh sách) và fetch_articles() (đọc chi tiết), hoặc tiếp tục dùng các lớp cũ nhờ cơ chế tương thích ngược |
| Tốc độ phản hồi | Chờ đợi lâu khi tải nhiều nguồn tin | Xử lý nhanh hơn khi theo dõi nhiều trang tin cùng lúc |
| Lọc bài theo giờ | Dễ lọc nhầm bài cũ do sai lệch múi giờ | Lọc chính xác theo đúng mốc thời gian giờ Việt Nam (UTC+07:00) |
| Cập nhật nguồn tin | Dễ bị gián đoạn khi website đổi định dạng | Bản phát hành mới cập nhật theo cấu trúc cấp tin mới của trang tin |
| Kiểm soát khi có sự cố | Thông báo lỗi khó hiểu hoặc dữ liệu trả về rỗng | Báo rõ nguyên nhân và gợi ý cụ thể hướng xử lý tiếp theo |
Bắt đầu trong ba bước
pip install -U --extra-index-url https://vnstocks.com/api/packages vnstock-news
vnstock register # Đăng nhập bằng khoá API tài khoản từ cấp Silver trở lênimport vnstock_news
# Xem danh sách các website tin tức được hỗ trợ sẵn
vnstock_news.list_supported_sites()
# 1. Lấy nhanh danh sách 20 tin mới trong 6 giờ qua từ Vietstock (trang này công bố RSS)
df_feed = vnstock_news.fetch_feeder(site_name="vietstock", within="6h", top_n=20)
print(df_feed[["title", "pubDate", "link"]].head())
# 2. Hoặc đọc thông tin từng bài (tiêu đề, tác giả, chuyên mục, thời gian) từ CafeF
df_articles = vnstock_news.fetch_articles(site_name="cafef", top_n=5)
print(df_articles[["title", "author", "category", "publish_time", "url"]])Tên cột của fetch_feeder() tuỳ loại nguồn: trang công bố RSS cho các cột title, link,
description, pubDate; trang chỉ có sơ đồ trang (như CafeF) cho url và lastmod. Bảng đầy đủ ở
trang Theo dõi và đọc tin tức.
Khoá API lấy tại trang tài khoản. Chi tiết cài đặt môi trường và các bước đăng nhập có tại trang Cài đặt và xác thực.
Lộ trình tài liệu
Bộ tài liệu được thiết kế ngắn gọn, đi thẳng vào các thao tác thực tế:
| Bước | Trang | Mục đích sử dụng |
|---|---|---|
| 1 | Cài đặt và xác thực | Cài đặt thư viện, đăng nhập khoá Silver+, quản lý hạn dùng |
| 2 | Theo dõi và đọc tin tức | Dùng hàm fetch_feeder() lấy danh sách tin và fetch_articles() đọc chi tiết bài viết |
| 3 | Danh mục nguồn tin | Tra cứu các trang tin trong danh mục và xem trước đường dẫn cấp tin |
| 4 | Tuỳ biến Sitemap và RSS | Tự khai báo nguồn RSS, sitemap, và tự dựng cấu hình đọc bài từ một bài mẫu cho nghiên cứu cá nhân |
| 5 | Xử lý lỗi và chính sách | Cách kiểm soát lỗi trong mã nguồn và hướng xử lý các trường hợp thường gặp |
| 6 | Chuyển đổi từ bản cũ | Giữ nguyên lớp cũ hoặc chuyển đổi sang các hàm thế hệ 5 tinh gọn |
Đang có mã viết cho bản cũ
Nếu bạn đang có chương trình chạy với vnstock_news 2.x:
- Tương thích ngược 1:1: Bạn có thể giữ nguyên mã nguồn cũ và tiếp tục gọi các lớp quen thuộc (
Crawler,BatchCrawler,AsyncBatchCrawler,EnhancedNewsCrawler) trực tiếp từvnstock_news. - Rút gọn hơn với hai hàm mới: Khi có nhu cầu tái cấu trúc, bạn có thể chuyển dần sang
fetch_feeder()vàfetch_articles()để code sáng sủa, đồng bộ và tận dụng tốc độ tối đa của thế hệ 5. - Xem bảng đối chiếu mã lệnh chi tiết tại trang Chuyển đổi từ bản cũ.
Giới hạn và lưu ý cho người dùng
- Tôn trọng bản quyền đơn vị xuất bản: Toàn bộ nội dung bài viết, hình ảnh và quyền tác giả thuộc về đơn vị xuất bản của từng website. Thư viện giúp bạn sắp xếp tiêu đề, tóm tắt và đường dẫn để đọc bài tại trang gốc.
- Không kèm sẵn cách đọc nội dung bài cho trang nào: Danh mục trang tin trong thư viện không có bộ chọn
nội dung (
content_selector), nênfetch_articles(site_name=...)luôn để trống cộtcontent. Nếu cần nội dung bài cho nghiên cứu cá nhân, ở trang tin mà điều kiện sử dụng cho phép, bạn tự viết cấu hình theo hướng dẫn Tự dựng cấu hình đọc nội dung từ một bài mẫu. Không đăng lại nội dung bài viết ở nơi khác. - Không đưa khuyến nghị đầu tư: Thư viện thuần túy là công cụ hỗ trợ người dùng theo dõi và đối chiếu thông tin, không đưa ra bất kỳ nhận định hay tư vấn mua bán tài chính nào.
- Tính khả dụng của website nguồn: Khi một trang tin gặp sự cố kỹ thuật hoặc điều chỉnh cấu trúc cấp tin, thư viện sẽ thông báo rõ ràng để bạn nắm được tình trạng thay vì trả về thông tin sai lệch.
- Giấy phép sử dụng cá nhân: Thư viện phát hành dành riêng cho người tài trợ, phục vụ mục đích nghiên cứu và theo dõi thị trường của cá nhân theo giấy phép sử dụng.