Trong hướng dẫn này, chúng ta sẽ tìm hiểu và áp dụng một số phương pháp để xóa các thẻ HTML khỏi chuỗi. Chúng tôi sẽ sử dụng biểu thức chính quy,
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
5 và cây phần tử XMLVì các thẻ HTML luôn chứa ký hiệu
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
6. Chúng tôi sẽ nhập mô-đun #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
0 tích hợp [biểu thức chính quy] và sử dụng phương thức #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
1 để tìm kiếm mẫu đã xác định trong chuỗi đầu vàoỞ đây, mẫu
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
2 có nghĩa là không có hoặc nhiều ký tự bên trong thẻ #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
6 và khớp với càng ít ký tự càng tốtPhương thức
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
4 dùng để thay thế các lần xuất hiện của một chuỗi bằng một chuỗi khác. Ở đây, nó sẽ thay thế các lần xuất hiện được tìm thấy bằng một chuỗi rỗngMã ví dụ
#Python 3.x
import re
string='Delftstack'
print['String before cleaning:', string]
to_clean = re.compile['']
cleantext = re.sub[to_clean, '', string]
print['String after cleaning:', cleantext]
đầu ra
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
5 là một thư viện Python để lấy dữ liệu từ HTML và XML. Nó sử dụng một trình phân tích cú pháp để phân tích cú pháp HTML và XML; Chúng ta cần cài đặt cả hai trước khi tiếp tục, sử dụng các lệnh sau
#Python 3.x
pip install beautifulsoup4
________số 8
Chúng tôi đã nhập mô-đun
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
5 và phân tích cú pháp chuỗi HTML đã cho trong đoạn mã sau. Chúng tôi đã truy cập văn bản từ HTML bằng thuộc tính #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
8Mã ví dụ
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
0đầu ra
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
1ElementTree là một thư viện phân tích cú pháp và điều hướng thông qua XML. Phương thức
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
9 phân tích cú pháp XML trực tiếp từ một chuỗi thành một phần tử, là phần tử gốc của cây phân tích cú pháp#Python 3.x
pip install beautifulsoup4
0 tạo một trình lặp văn bản lặp qua phần tử này và tất cả các phần tử con của nó theo thứ tự tài liệu, trả về tất cả văn bản bên trong. Bằng cách hợp nhất tất cả các thành phần [văn bản bên trong] của một iterable [chuỗi đầu vào], được phân tách bằng dấu tách chuỗi, phương thức #Python 3.x
pip install beautifulsoup4
1 trả về một chuỗi không có thẻ HTML Sử dụng phương pháp
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
0 để xóa các thẻ HTML khỏi một chuỗi, e. g. #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
1. Phương thức #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
0 sẽ xóa tất cả các thẻ HTML trong chuỗi bằng cách thay thế chúng bằng các chuỗi rỗngMẫu mã sử dụng biểu thức chính quy để tách các thẻ HTML khỏi chuỗi
Phương thức trả về một chuỗi mới thu được bằng cách thay thế các lần xuất hiện của mẫu bằng thay thế được cung cấp
Nếu mẫu không được tìm thấy, chuỗi được trả về nguyên trạng
Đối số đầu tiên chúng ta truyền cho phương thức
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
0 là một biểu thức chính quyDấu ngoặc
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
4 và #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
5 khớp với ký tự mở và đóng của thẻ HTMLDấu chấm
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
6 khớp với bất kỳ ký tự nào ngoại trừ ký tự xuống dòngDấu hoa thị
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
7 khớp với 0 hoặc nhiều lần lặp lại của ký tự trước đó [bất kỳ ký tự nào]Thêm một dấu chấm hỏi
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
8 sau vòng loại làm cho nó thực hiện một trận đấu không tham lam hoặc tối thiểuVí dụ: sử dụng biểu thức chính quy
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
9 sẽ chỉ khớp với #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
10Về tổng thể, biểu thức chính quy khớp với tất cả các thẻ HTML mở và đóng
Ngoài ra, bạn có thể sử dụng lớp
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
11Xóa các thẻ HTML khỏi Chuỗi bằng HTMLParser trong Python
Để xóa các thẻ HTML khỏi một chuỗi trong Python
- Mở rộng từ lớp
11 từ mô-đun#Python 3.x String before cleaning: Delftstack String after cleaning: Delftstack
13#Python 3.x String before cleaning: Delftstack String after cleaning: Delftstack
- Triển khai phương thức
14 để lấy dữ liệu giữa các thẻ HTML#Python 3.x String before cleaning: Delftstack String after cleaning: Delftstack
- Lưu trữ dữ liệu trong một danh sách trên thể hiện của lớp
- Gọi phương thức
15 trên một thể hiện của lớp#Python 3.x String before cleaning: Delftstack String after cleaning: Delftstack
Hàm
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
16 lấy một chuỗi và tách các thẻ HTML khỏi chuỗi được cung cấpChúng tôi mở rộng từ lớp
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
11. Đoạn mã rất giống với mô-đun #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
18Lớp
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
11 được sử dụng để tìm các thẻ và các chức năng xử lý cuộc gọi và đánh dấu khácDữ liệu giữa các thẻ HTML được chuyển từ trình phân tích cú pháp sang lớp dẫn xuất bằng cách gọi
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
00Khi đặt
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
01 thành #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
02, các tham chiếu ký tự sẽ tự động được chuyển thành ký tự Unicode tương ứngNếu
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
01 được đặt thành #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
04, các tham chiếu ký tự được chuyển bằng cách gọi các phương thức #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
05 hoặc #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
06Phương thức
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
15 sử dụng phương thức #Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
08 để tham gia danh sách các chuỗi không có dấu táchPhương thức lấy một iterable làm đối số và trả về một chuỗi là chuỗi nối của các chuỗi trong iterable
Hàm
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
09 lấy một chuỗi chứa các thẻ HTML và trả về một chuỗi mới trong đó tất cả các thẻ HTML mở và đóng đã bị xóaHàm khởi tạo lớp và cung cấp chuỗi chứa các thẻ html cho trình phân tích cú pháp
Bước tiếp theo là gọi phương thức
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
00 trên phiên bản để xử lý mọi dữ liệu được lưu vào bộ đệmCuối cùng, chúng tôi gọi phương thức
#Python 3.x
String before cleaning: Delftstack
String after cleaning: Delftstack
15 trong ví dụ để nối danh sách các chuỗi thành một chuỗi không chứa bất kỳ thẻ HTML nào