Vnstock Logo

Ví dụ Thực tế

Cập nhật lần cuối:

Thảo luận

Mục lục

Kịch Bản Ứng Dụng

Phần này cung cấp các kịch bản mẫu áp dụng thư viện trong thực tế. Các đoạn mã bên dưới đóng vai trò tham chiếu kỹ thuật; bạn không cần lập trình thủ công mà hãy cung cấp tài liệu cho AI Agent của bạn để tùy biến và tự động sinh mã theo nhu cầu đặc thù.

Kịch bản 1: Hệ Thống Giám Sát Tin Tức Liên Tục (Media Monitoring)

Sử dụng vòng lặp kiểm tra thời gian thông qua thư viện schedule giúp tự động hóa quá trình giám sát lượng bản tin mới từ các trang tin điện tử. Phương thức quản lý kịch bản này hỗ trợ chuyên viên báo chí, nhà chuyên môn theo dõi chuỗi phân phối nội dung ngay khi vừa phát hành:

Python
from vnstock_news import Crawler
import schedule
import time

def process_latest_news():
    crawler = Crawler(site_name="vnexpress")
    articles = crawler.get_articles_from_feed(limit_per_feed=20)
    
    print(f"Báo cáo hệ thống: Truy xuất {len(articles)} bản ghi cập nhật:")
    for a in articles[:3]:
        print(f" - Định danh tài liệu: {a.get('title')}")

# Vận hành chu kỳ theo khung giờ phân tích
schedule.every(1).hours.do(process_latest_news)

while True:
    schedule.run_pending()
    time.sleep(60)

Kịch bản 2: Truy Xuất Dữ Liệu Chuyên Biệt Đặc Thù (Market Research)

Chuyên gia phân tích dữ liệu thị trường vận hành phương thức định dạng tham số để làm nổi bật văn bản tập trung vào "cổ phiếu" và "chứng khoán". Công cụ BatchCrawler phân đoạn dữ liệu lịch sử ổn định tuân thủ tiêu chuẩn tốc độ xử lý mạng:

Python
from vnstock_news import BatchCrawler
import pandas as pd

crawler = BatchCrawler(site_name="cafef", request_delay=1.0)
articles = crawler.fetch_articles(limit=500) 

# Xác thực chuỗi dựa trên mô hình thông tin Pandas
filtered_articles = articles[
    articles['title'].str.contains('cổ phiếu|chứng khoán', case=False, na=False)
]

print(f"Tổng số bản ghi thỏa mãn điều kiện bộ lọc: {len(filtered_articles)}.")

Kịch bản 3: Quản Trị Cơ Sở Dữ Liệu Phục Vụ Máy Học (Machine Learning)

Đối với quy trình kỹ thuật hệ thống tập trung xây dựng cơ sở mô hình Ngôn Ngữ Tự Nhiên (NLP), tiến trình giải quyết đa luồng kết hợp môi trường asyncio giúp mở rộng tập lệnh biên dịch song song qua tính năng AsyncBatchCrawler. Kỹ sư chỉ định rõ tọa độ nguồn URL từ sitemap tương đương đầu vào sources:

Python
import asyncio
from vnstock_news import AsyncBatchCrawler
import pandas as pd

async def generate_training_dataset():
    corpus = []
    
    data_sources = {
        "cafef": "https://cafef.vn/latest-news-sitemap.xml",
        "tuoitre": "https://tuoitre.vn/StaticSitemaps/sitemaps-2025-1.xml",
        "vietstock": "https://vietstock.vn/sitemap.xml",
    }
    
    for publisher, sitemap_url in data_sources.items():
        crawler = AsyncBatchCrawler(site_name=publisher)
        df = await crawler.fetch_articles_async(
            sources=[sitemap_url],
            top_n=500  
        )
        df['source'] = publisher
        corpus.append(df)
    
    unified_dataset = pd.concat(corpus, ignore_index=True)
    unified_dataset.to_csv("news_nlp_dataset.csv", index=False)
    print("Hoàn tất kết xuất dữ liệu thống kê cấu trúc.")

# Triển khai tác vụ không khả dụng trực tiếp ở chế độ script ngoài phạm vi asyncio
# asyncio.run(generate_training_dataset())

Tuyên Bố Pháp Lý và Đạo Đức (Legal & Ethical Disclaimer)

Việc thu thập thông tin quy mô lớn thông qua lập trình tự động hoá luôn chịu sự ràng buộc của điều khoản dịch vụ (ToS) từ nguồn tin gốc. Người sử dụng công cụ phải có trách nhiệm tôn trọng đặc tả robots.txt và phân luồng tấn suất truyền tải một cách hợp lý. Mọi tư liệu trích xuất từ vnstock_news chịu sự điều chỉnh theo luật quyền sở hữu tác giả của nhà xuất bản và chỉ thuần phục vụ ứng dụng chuyên ngành trong đào tạo khoa học và nghiên cứu mô hình thống kê, phi lợi nhuận. Việc thương mại hóa, sử dụng vì mục tiêu lợi nhuận, hay tái phân phối công cộng đều phải có sự đồng ý của tổ chức chủ sở hữu nguồn tin.

Thảo luận

Đang tải bình luận...