Back to Question Center
0

Semalt Chuyên gia: Python và BeautifulSoup. Cạo trang web Dễ dàng

1 answers:

Khi thực hiện phân tích số liệu hoặc các dự án học máy, bạn có thể cần phải cạo các trang web để có được dữ liệu cần thiết và hoàn thành dự án của bạn. Python ngôn ngữ lập trình có một bộ sưu tập mạnh mẽ của các công cụ và mô-đun có thể được sử dụng cho mục đích này. Ví dụ: bạn có thể sử dụng mô-đun BeautifulSoup để phân tích cú pháp HTML.

Ở đây, chúng ta sẽ xem BeautifulSoup và tìm ra lý do tại sao nó hiện đang được sử dụng rộng rãi trong việc cạo web . Các tính năng của BeautifulSoup

- Cung cấp nhiều phương pháp dễ dàng điều hướng, tìm kiếm và sửa đổi các cây phân tích vì vậy cho phép bạn dễ dàng phân tích một tài liệu và trích xuất tất cả mọi thứ bạn cần mà không cần viết quá nhiều mã - renewable energy ni.

- Nó tự động chuyển đổi các tài liệu gửi đi thành UTF-8 và các tài liệu đến Unicode. Điều này có nghĩa là bạn sẽ không phải lo lắng về việc mã hóa với điều kiện tài liệu đã chỉ định mã hóa hay Beautiful Soup có thể tự động phát hiện nó.

- BeautifulSoup được đánh giá cao hơn các trình phân tích cú pháp Python phổ biến khác như html5lib và lxml. Nó cho phép thử các chiến lược phân tích cú pháp khác nhau. Tuy nhiên, một bất lợi của mô đun này là nó cung cấp tính linh hoạt hơn với chi phí của tốc độ.

Bạn cần gì để cạo trang web với BeautifulSoup?

Để bắt đầu làm việc với BeautifulSoup, bạn cần phải có môi trường lập trình Python (cài đặt cục bộ hoặc dựa trên máy chủ) trên máy của bạn. Python thường được cài đặt sẵn trong OS X, nhưng nếu bạn sử dụng Windows, bạn sẽ cần phải tải xuống và cài đặt ngôn ngữ từ trang web chính thức.

Bạn nên cài đặt các module BeautifulSoup và Requests.

Cuối cùng, làm quen và thoải mái làm việc với HTML gắn thẻ và cấu trúc chắc chắn là hữu ích vì bạn sẽ được làm việc với các dữ liệu web có nguồn.

Yêu cầu nhập khẩu và thư viện BeautifulSoup

Với môi trường lập trình Python được thiết lập tốt, bây giờ bạn có thể tạo một tệp mới (sử dụng nano) với bất kỳ tên nào bạn thích.

Thư viện Yêu cầu cho phép bạn sử dụng HTTP dạng con người có thể đọc được trong các chương trình Python của bạn trong khi BeautifulSoup lấy cạo được thực hiện ở tốc độ nhanh hơn. Bạn có thể sử dụng câu lệnh import để lấy cả hai thư viện.

Làm thế nào để thu thập và phân tích một trang web

Sử dụng các yêu cầu. get

để thu thập URL của trang web mà từ đó bạn muốn trích xuất dữ liệu. Tiếp theo, tạo một đối tượng BeautifulSoup hoặc phân tích cú pháp. Đối tượng này lấy tài liệu từ Yêu cầu làm đối số của nó và sau đó phân tích nó. Với trang được thu thập, phân tích cú pháp và thiết lập như một đối tượng BeautifulSoup, bạn có thể tiến hành thu thập dữ liệu bạn cần.

Trích xuất văn bản mong muốn từ trang web được phân tích cú pháp

Bất cứ khi nào bạn muốn thu thập dữ liệu web, bạn cần biết dữ liệu đó được mô tả bằng DOM (DOM) của trang web. Trong trình duyệt web của bạn, nhấp chuột phải (nếu sử dụng Windows), hoặc CTRL + bấm (nếu sử dụng macOS) trên một trong các mục tạo thành một phần dữ liệu quan tâm. Ví dụ: nếu bạn muốn rút ra dữ liệu về quốc tịch của sinh viên, hãy nhấp vào một trong những tên của một sinh viên. Trình đơn ngữ cảnh bật lên và bên trong nó, bạn sẽ thấy mục trình đơn tương tự như Kiểm tra phần tử (cho Firefox) hoặc Kiểm tra (dành cho Chrome). Nhấp vào mục trình đơn Inspect có liên quan và các công cụ phát triển web sẽ xuất hiện trong trình duyệt của bạn.

BeautifulSoup là một công cụ phân tích cú pháp HTML đơn giản nhưng mạnh mẽ cho phép bạn có nhiều sự linh hoạt khi cạo các trang web . Khi sử dụng nó, đừng quên tuân theo các quy tắc chung về cào như kiểm tra Điều khoản và Điều kiện của trang web; xem lại trang web thường xuyên và cập nhật mã của bạn theo những thay đổi được thực hiện trên trang web. Có kiến ​​thức về việc cạo các trang web bằng Python và BeautifulSoup, giờ đây bạn có thể dễ dàng lấy được dữ liệu web bạn cần cho dự án của bạn.

December 22, 2017