Chào các bác, dạo này em đang mày mò dùng Python để tự động hóa mấy tác vụ Excel. Em có một file Excel cần cập nhật dữ liệu thường xuyên từ một trang web. Trước đây toàn phải ngồi copy-paste thủ công, mất bao nhiêu thời gian.
Em tìm hiểu thì thấy có thể dùng thư viện pandas và requests (hoặc BeautifulSoup) để lấy dữ liệu trực tiếp từ web rồi ghi vào file Excel. Cụ thể, em định làm như sau:
- Sử dụng
requests.get(url)để lấy nội dung HTML của trang web. - Dùng
pandas.read_html()để trích xuất các bảng dữ liệu có trên trang. - Chọn bảng cần thiết và làm sạch dữ liệu nếu cần.
- Cuối cùng, dùng
df.to_excel('ten_file.xlsx', index=False)để ghi dữ liệu vào file Excel.
Em đang phân vân không biết nên dùng requests kết hợp BeautifulSoup để parse HTML chi tiết hơn hay chỉ cần pandas.read_html() là đủ. Trang web em lấy dữ liệu có cấu trúc bảng khá rõ ràng. Có bác nào đã từng làm việc này rồi cho em xin ít kinh nghiệm với ạ? Hoặc có cách nào hay hơn không?
Em cảm ơn!