Phân chia DOM/SAX là cơ bản. Nó không chỉ áp dụng cho python vì DOM và SAX là ngôn ngữ chéo.
DOM: đọc toàn bộ tài liệu vào bộ nhớ và thao tác. Tốt cho:
- mối quan hệ phức tạp giữa các thẻ trong đánh dấu
- nhỏ tài liệu XML phức tạp
- Lưu ý:
- Dễ sử dụng quá nhiều bộ nhớ
SAX: phân tích cú pháp t anh ấy ghi lại trong khi bạn đọc nó. Tốt cho:
- văn bản dài hoặc suối mở kết thúc
- nơi bộ nhớ là một hạn chế
- Lưu ý:
- Bạn sẽ cần phải mã hóa một phân tích cú pháp trạng thái, mà có thể được khôn lanh
beautifulsoup:
Tuyệt vời cho đánh dấu HTML hoặc không được tạo đúng. Dễ sử dụng và nhanh chóng. Tốt cho cạo màn hình, vv Nó có thể làm việc với đánh dấu, nơi những người dựa trên XML sẽ chỉ thông qua một lỗi nói rằng đánh dấu là không chính xác.
Phần lớn phần còn lại tôi chưa sử dụng, nhưng tôi không nghĩ rằng có những quy tắc khó và nhanh về thời điểm sử dụng. Chỉ những cân nhắc tiêu chuẩn của bạn: ai sẽ duy trì mã, API nào bạn thấy dễ sử dụng nhất, chúng hoạt động tốt như thế nào, v.v.
Nói chung, đối với các nhu cầu cơ bản, bạn nên sử dụng các mô-đun thư viện chuẩn vì chúng là "chuẩn" và do đó có sẵn và nổi tiếng.Tuy nhiên, nếu bạn cần đào sâu vào một thứ gì đó, hầu như luôn có các mô-đun không chuẩn mới hơn với chức năng vượt trội bên ngoài thư viện chuẩn.
Nguồn
2010-03-12 04:40:02
Tôi đã đi với súp đẹp vào dịp đó khi những người khác đã được pedantic về đầu vào; một cái gì đó tôi đã không kiểm soát. –
Từ năng suất của nhà phát triển và dễ sử dụng, tôi đã có trải nghiệm tuyệt vời với 'BeautifulSoup'. Anaconda python tàu với nó. – arun