Tiếp nối buổi học trước, hôm nay chúng ta sẽ giải quyết những bài toán thực tế khó hơn: Làm sao để lấy dữ liệu khi web yêu cầu đăng nhập? Làm sao để lật từng trang (pagination) để lấy toàn bộ dữ liệu? Và làm sao để trình duyệt không phát hiện ra chúng ta là một con robot?
1️⃣ Giả Lập Trình Duyệt Với User-Agent
Nhiều website sẽ chặn các request từ Python. Để vượt qua, chúng ta cần gửi kèm Headers để giả vờ rằng request này đến từ một trình duyệt Chrome hoặc Firefox thực thụ.
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers)
2️⃣ Duy Trì Trạng Thái Với Session & Cookies
Khi quét dữ liệu sau khi đăng nhập, bạn cần sử dụng requests.Session(). Nó giúp Python ghi nhớ Cookies giống như trình duyệt, giúp bạn không phải đăng nhập lại ở mỗi click.
3️⃣ Kỹ Thuật Phân Trang (Pagination)
Thay vì chỉ quét 1 trang, chúng ta sử dụng vòng lặp for hoặc while kết hợp với tham số URL để tự động nhảy sang trang 2, 3, 4 cho đến khi hết dữ liệu.
for p in range(1, 11):
page_url = f"https://example.com/products?page={p}"
# Thực hiện scraping ở đây
TỔNG KẾT BUỔI 6
Bạn đã nâng cấp kỹ năng Scraping lên một tầm cao mới. Việc hiểu về Header, Session và Pagination cho phép bạn khai thác dữ liệu từ các sàn thương mại điện tử hay các trang tin tức lớn một cách ổn định. Tiếp theo, ở buổi 7, chúng ta sẽ học cách lưu trữ đống dữ liệu này vào tệp tin chuyên nghiệp!
🔍 Chinh phục dữ liệu lớn tại: Hướng nghiệp Python – Automation