Trong bài học này, đó là những gì chúng tôi dự định làm. Chúng ta sẽ tìm hiểu cách trích xuất các giá trị của các thẻ HTML khác nhau và cũng ghi đè chức năng mặc định của mô-đun này để thêm một số logic của riêng chúng ta. Chúng tôi sẽ làm điều này bằng cách sử dụng lớp HTMLParser trong Python trong html. mô-đun trình phân tích cú pháp. Hãy xem mã đang hoạt động Show Nhìn vào lớp HTMLParserĐể phân tích văn bản HTML trong Python, chúng ta có thể sử dụng lớp HTMLParser trong html. mô-đun trình phân tích cú pháp. Hãy xem định nghĩa lớp cho lớp Trình phân tích cú pháp HTML lớp html. trình phân tích cú pháp. HTMLParser (* , convert_charrefs=True) Trường convert_charrefs, nếu được đặt thành True sẽ làm cho tất cả các tham chiếu ký tự được chuyển đổi thành tương đương Unicode của chúng. Chỉ các phần tử tập lệnh/kiểu không được chuyển đổi. Bây giờ, chúng ta sẽ cố gắng hiểu từng hàm cho lớp này để hiểu rõ hơn về chức năng của từng hàm
Phân lớp con của lớp HTMLParserTrong phần này, chúng ta sẽ phân lớp con của lớp HTMLParser và sẽ xem xét một số hàm được gọi khi dữ liệu HTML được chuyển đến thể hiện của lớp. Hãy viết một kịch bản đơn giản để làm tất cả những điều này từ html. trình phân tích cú pháp nhập HTMLParser Đây là những gì chúng tôi nhận được với lệnh này Lớp con Python HTMLParser Hàm HTMLParserTrong phần này, chúng ta sẽ làm việc với các chức năng khác nhau của lớp HTMLParser và xem xét chức năng của từng chức năng đó. từ html. trình phân tích cú pháp nhập HTMLParser Với các lệnh gọi khác nhau, hãy để chúng tôi cung cấp dữ liệu HTML riêng biệt cho phiên bản này và xem những lệnh gọi này tạo ra kết quả gì. Chúng ta sẽ bắt đầu với một chuỗi DOCTYPE đơn giản trình phân tích cú pháp. nguồn cấp dữ liệu (' Đây là những gì chúng tôi nhận được với cuộc gọi này Chuỗi DOCTYPE Bây giờ chúng ta hãy thử một thẻ hình ảnh và xem nó trích xuất dữ liệu gì trình phân tích cú pháp. feed (') Đây là những gì chúng tôi nhận được với cuộc gọi này Thẻ hình ảnh HTMLParser Tiếp theo, hãy thử cách thẻ script hoạt động với các hàm Python trình phân tích cú pháp. feed (' Đây là những gì chúng tôi nhận được với cuộc gọi này Thẻ tập lệnh trong htmlparser Cuối cùng, chúng tôi cũng chuyển nhận xét cho phần HTMLParser trình phân tích cú pháp. nguồn cấp dữ liệu (' Đây là những gì chúng tôi nhận được với cuộc gọi này Phân tích cú pháp nhận xét Phần kết luậnTrong bài học này, chúng ta đã xem xét cách chúng ta có thể phân tích cú pháp HTML bằng cách sử dụng lớp HTMLParser của Python mà không cần bất kỳ thư viện nào khác. Chúng tôi có thể dễ dàng sửa đổi mã để thay đổi nguồn dữ liệu HTML thành ứng dụng khách HTTP Làm cách nào để phân tích cú pháp văn bản HTML bằng Python?Ví dụ . từ html. trình phân tích cú pháp nhập HTMLParser Trình phân tích cú pháp lớp (HTMLParser) # phương pháp nối thêm thẻ bắt đầu vào danh sách start_tags def handle_starttag(bản thân, thẻ, attrs) start_tags toàn cầu start_tags. nối thêm (thẻ) # phương pháp nối thêm thẻ kết thúc vào danh sách end_tags def handle_endtag(bản thân, thẻ) Làm cách nào để trích xuất dữ liệu HTML bằng Python?Gửi yêu cầu HTTP GET tới URL của trang web mà bạn muốn thu thập, yêu cầu này sẽ phản hồi bằng nội dung HTML . Chúng ta có thể làm điều này bằng cách sử dụng thư viện Request của Python. Tìm nạp và phân tích dữ liệu bằng Beautifulsoup và duy trì dữ liệu trong một số cấu trúc dữ liệu như Dict hoặc List.
Làm cách nào để đọc dữ liệu HTML trong Python?Cài đặt BeautifulSoup. Sử dụng trình quản lý gói Anaconda để cài đặt gói cần thiết và các gói phụ thuộc của nó. . Đọc tệp HTML. Trong ví dụ dưới đây, chúng tôi yêu cầu một url được tải vào môi trường python. . Trích xuất giá trị thẻ. . Trích xuất tất cả các thẻ Làm cách nào để đọc đầu ra HTML bằng Python?Để hiển thị tệp HTML dưới dạng đầu ra python, chúng tôi sẽ sử dụng thư viện codec . Thư viện này được sử dụng để mở các tệp có mã hóa nhất định. Nó nhận một mã hóa tham số làm cho nó khác với hàm open() tích hợp. |