Cách xóa thẻ HTML khỏi chuỗi Python

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ử XML

Vì 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ốt

Phươ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ỗng

Mã 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
8

Mã 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
1

ElementTree 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ỗng

Mẫ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 quy

Dấ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ẻ HTML

Dấ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òng

Dấ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ểu

Ví 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
10

Về 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
11

Xó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

  1. Mở rộng từ lớp
    #Python 3.x
    String before cleaning: Delftstack
    String after cleaning: Delftstack
    
    11 từ mô-đun
    #Python 3.x
    String before cleaning: Delftstack
    String after cleaning: Delftstack
    
    13
  2. Triển khai phương thức
    #Python 3.x
    String before cleaning: Delftstack
    String after cleaning: Delftstack
    
    14 để lấy dữ liệu giữa các thẻ HTML
  3. Lưu trữ dữ liệu trong một danh sách trên thể hiện của lớp
  4. Gọi phương thức
    #Python 3.x
    String before cleaning: Delftstack
    String after cleaning: Delftstack
    
    15 trên một thể hiện của lớp

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ấp

Chú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
18

Lớ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ác

Dữ 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
00

Khi đặ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 ứng

Nế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
06

Phươ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ách

Phươ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óa

Hà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ộ đệm

Cuố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

Làm cách nào để xóa thẻ HTML khỏi chuỗi bằng Python?

Xóa thẻ HTML khỏi chuỗi trong python Sử dụng Mô-đun lxml . Sau khi nhận được trình phân tích cú pháp, chúng ta có thể trích xuất văn bản bằng phương thức text_content[], để lại các thẻ HTML. Phương thức text_content[] trả về một đối tượng là lxml. cây etree.

Làm cách nào để xóa thẻ HTML khỏi danh sách Python?

Mã trên hoạt động như thế nào? .
Ban đầu, chúng tôi nhập mô-đun regex trong python có tên 're'
Sau đó, chúng tôi sử dụng lại. compile[] chức năng của mô-đun regex. .
'. *' có nghĩa là không hoặc nhiều hơn 0 ký tự. .
Sau đó, chúng tôi sử dụng lại. .
Cuối cùng, chúng tôi gọi hàm remove_html để xóa các thẻ HTML khỏi chuỗi đầu vào

Làm cách nào để xóa thẻ HTML khỏi chuỗi trong gấu trúc?

str. replace[' .
< - một < ký tự
[^]* - không hoặc nhiều ký tự ngoài < và > càng nhiều càng tốt
> - một > ký tự

Làm cách nào để xóa thẻ HTML khỏi chuỗi regex?

Ở đây, nhiệm vụ là xóa các thẻ HTML khỏi chuỗi. .
Lấy chuỗi trong một biến
Bất kỳ thứ gì giữa ký hiệu nhỏ hơn và ký hiệu lớn hơn sẽ bị xóa khỏi chuỗi bởi RegExp
Cuối cùng chúng ta sẽ nhận được văn bản

Chủ Đề