Web scraping là kỹ thuật trích xuất dữ liệu từ trang web. Kết hợp requests và Beautiful Soup, bạn có thể thu thập thông tin tự động. Bài viết giới thiệu cách làm cơ bản và có trách nhiệm.
Cài đặt
pip install requests beautifulsoup4
Lấy và phân tích HTML
import requests
from bs4 import BeautifulSoup
html = requests.get("https://example.com").text
soup = BeautifulSoup(html, "html.parser")
Tìm phần tử
soup.title.text # tiêu đề trang
soup.find("h1").text # thẻ h1 đầu tiên
soup.find_all("a") # tất cả liên kết
soup.find("div", class_="content") # theo class
Trích xuất dữ liệu
for bai in soup.find_all("article"):
tieu_de = bai.find("h2").text
link = bai.find("a")["href"]
print(tieu_de, link)
Dùng CSS selector
soup.select("div.post h2") # linh hoạt như CSS
soup.select_one("#main")
Scraping có trách nhiệm
- Tôn trọng robots.txt của website.
- Đọc điều khoản sử dụng — không phải trang nào cũng cho phép.
- Giới hạn tốc độ (thêm
time.sleep) để không gây tải cho server. - Không thu thập dữ liệu cá nhân trái phép.
Web scraping là công cụ mạnh cho nghiên cứu và tổng hợp dữ liệu công khai — hãy dùng nó một cách hợp pháp và lịch sự.
