Nhận các thẻ HTML từ chuỗi Python

Trong khi thu thập dữ liệu, chúng ta thường cần xử lý văn bản bằng các thẻ HTML. Trong bài viết này, chúng ta sẽ thảo luận về các cách khác nhau để xóa thẻ HTML khỏi chuỗi trong python

Xóa các thẻ HTML khỏi chuỗi trong python bằng Biểu thức chính quy

Biểu thức chính quy là một trong những cách tốt nhất để xử lý dữ liệu văn bản. Chúng tôi cũng có thể xóa các thẻ HTML khỏi chuỗi trong python bằng các biểu thức chính quy. Đối với điều này, chúng ta có thể sử dụng phương thức sub[] được xác định trong mô-đun regex

Phương thức sub[] lấy mẫu của chuỗi con cần được thay thế làm đối số đầu tiên của nó, chuỗi sẽ được thay thế tại vị trí của chuỗi con được thay thế làm đối số đầu vào thứ hai và chuỗi gốc làm đầu vào thứ ba

Sau khi thực hiện, nó trả về chuỗi đã sửa đổi bằng cách thay thế tất cả các lần xuất hiện của chuỗi con được cung cấp làm đối số đầu vào đầu tiên bằng chuỗi con được cung cấp làm đối số đầu vào thứ hai trong chuỗi gốc

Để xóa các thẻ HTML khỏi chuỗi trong python bằng phương pháp sub[], trước tiên chúng tôi sẽ xác định một mẫu đại diện cho tất cả các thẻ HTML. Đối với điều này, chúng tôi sẽ tạo một mẫu đọc tất cả các ký tự bên trong thẻ HTML . Mô hình như sau

1

2

3

 

mẫu = '

 

Sau khi tạo mẫu, chúng ta sẽ thay thế từng chuỗi con có mẫu đã xác định bằng một chuỗi rỗng "" bằng cách sử dụng phương thức sub[]. Bằng cách này, chúng tôi có thể xóa các thẻ HTML khỏi bất kỳ chuỗi đã cho nào trong Python

Sau đây là mã nguồn để xóa các thẻ HTML khỏi chuỗi trong python bằng phương thức sub[].  

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

 

nhập lại

 

mẫu = '

myString = """

Java2Blog

Tôi là một câu bên trong chuỗi HTML.

Tôi chỉ là một câu khác được viết bởi Aditya.

"""

in["Chuỗi HTML là. "]

in[myString]

chuỗi đầu ra = lại. phụ[mẫu, ", myString]

print["Chuỗi đầu ra là. "]

in[chuỗi đầu ra]

 

đầu ra

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

 

Chuỗi HTML String .

Java2Blog

I am a sentence inside an HTML string.

Tôi am just another sentence written by Aditya.

Đầu ra Chuỗi .

 

 

 

Java2Blog

 

 

Tôi tôi a câu bên trong an HTML string.

Tôi chỉ là một câu khác written by Aditya.

 

 

 

 

đọc thêm

Xóa Url khỏi văn bản trong Python

Đọc thêm →

Nhận HTML từ URL trong Python

Đọc thêm →

Xóa các thẻ HTML khỏi chuỗi trong python bằng Mô-đun lxml

Thay vì sử dụng các biểu thức chính quy, chúng ta cũng có thể sử dụng mô-đun lxml để xóa các thẻ HTML khỏi chuỗi trong python. Đối với điều này, trước tiên chúng ta sẽ phân tích chuỗi gốc bằng phương thức fromstring[]

Phương thức fromstring[] lấy chuỗi gốc làm đầu vào và trả về trình phân tích cú pháp. Sau khi nhận được trình phân tích cú pháp, chúng tôi có thể trích xuất văn bản bằng phương pháp regex0, để lại các thẻ HTML. Phương thức regex0 trả về một đối tượng có kiểu dữ liệu regex2. Do đó, chúng ta cần chuyển đổi đầu ra thành chuỗi bằng cách sử dụng hàm regex3

Bạn có thể quan sát điều này trong ví dụ sau

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

 

từ lxml. html nhập từ chuỗi

 

mẫu = '

myString = """

Java2Blog

Tôi là một câu bên trong chuỗi HTML.

Tôi chỉ là một câu khác được viết bởi Aditya.

"""

in["Chuỗi HTML là. "]

in[myString]

parserObj = từchuỗi[myString]

outputString = str[parserObj.text_content[]]

print["Chuỗi đầu ra là. "]

in[chuỗi đầu ra]

 

đầu ra

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

 

Chuỗi HTML String .

Java2Blog

I am a sentence inside an HTML string.

Tôi am just another sentence written by Aditya.

Đầu ra Chuỗi .

 

 

Java2Blog

 

 

Tôi tôi a câu bên trong an HTML string.

Tôi chỉ là một câu khác written by Aditya.

 

 

 

 

Xóa các thẻ HTML khỏi chuỗi trong python bằng Mô-đun Beautifulsoup

Cũng giống như module regex4, module regex5 cũng cung cấp cho chúng ta nhiều hàm để xử lý dữ liệu văn bản. Để xóa các thẻ HTML khỏi một chuỗi bằng mô-đun BeautifulSoup, chúng ta có thể sử dụng phương thức regex6 và phương thức regex7

Theo cách tiếp cận này, trước tiên chúng ta sẽ tạo một trình phân tích cú pháp để phân tích cú pháp chuỗi chứa các thẻ HTML bằng cách sử dụng phương thức regex6. Phương thức regex6 lấy chuỗi gốc làm đối số đầu vào đầu tiên và loại trình phân tích cú pháp được tạo làm đối số đầu vào thứ hai, đây là tùy chọn. Sau khi thực hiện, nó trả về trình phân tích cú pháp. Chúng ta có thể gọi phương thức regex7 trên trình phân tích cú pháp để lấy chuỗi đầu ra.  

Chương trình sau minh họa cách xóa các thẻ HTML khỏi chuỗi trong python bằng mô-đun regex5

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

 

nhập bs4

 

mẫu = '

myString = """

Java2Blog

Tôi là một câu bên trong chuỗi HTML.

Tôi chỉ là một câu khác được viết bởi Aditya.

"""

in["Chuỗi HTML là. "]

in[myString]

parserObj = bs4. BeautifulSoup[myString]

outputString = parserObj. get_text[]

print["Chuỗi đầu ra là. "]

in[chuỗi đầu ra]

 

đầu ra

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

 

Chuỗi HTML String .

Java2Blog

I am a sentence inside an HTML string.

Tôi am just another sentence written by Aditya.

Đầu ra Chuỗi .

 

 

Java2Blog

 

 

Tôi tôi a câu bên trong an HTML string.

Tôi chỉ là một câu khác written by Aditya.

 

 

 

 

Phần kết luận

Trong bài viết này, chúng tôi đã thảo luận về các cách khác nhau để xóa thẻ HTML khỏi chuỗi trong python. Trong khi các cách tiếp cận với mô-đun lxml và các mô-đun BeautifulSoup tạo một trình phân tích cú pháp để trích xuất văn bản từ chuỗi HTML, thì cách tiếp cận sử dụng các biểu thức chính quy tập trung hoàn toàn vào việc loại bỏ các thẻ HTML. Mặc dù kết quả đầu ra giống nhau nhưng đây là điểm khác biệt cơ bản giữa các phương pháp này. Bạn có thể sử dụng bất kỳ phương pháp nào tùy theo sự thuận tiện của bạn

Làm cách nào để trích xuất các thẻ HTML từ một chuỗi trong python?

Sử dụng re module, tác vụ này có thể được thực hiện. Trong phần này, chúng tôi sử dụng, hàm findall[] để trích xuất tất cả các chuỗi bằng cách khớp biểu thức chính quy thích hợp được tạo bằng cách sử dụng thẻ và ký hiệu .

Làm cách nào để trích xuất dữ liệu từ các thẻ HTML trong python?

Một cách để trích xuất thông tin từ HTML của trang web là sử dụng các phương thức chuỗi . Chẳng hạn, bạn có thể sử dụng. find[] để tìm kiếm các thẻ

Làm cách nào để tìm nạp nội dung HTML trong python?

Giải pháp đơn giản nhất là như sau. .
yêu cầu nhập khẩu. in [yêu cầu. nhận được [url = 'https. //Google. com']. chữ].
nhập urllib. yêu cầu như r. trang = r. urlopen['https. //Google. com'].
nhập urllib. yêu cầu như r. trang = r. urlopen['https. //Google. com'].
.

Chủ Đề