Tìm thẻ html trong 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 pháp 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 một 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 cú pháp 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 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 một 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 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 trình bày 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 một 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?

Đố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 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.

Làm cách nào để trích xuất dữ liệu từ các thẻ HTML trong 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 để sử dụng các thẻ HTML trong Python?

Trăn. Tạo chuỗi HTML với các thẻ xung quanh [các] từ .
Giải pháp mẫu. -
Python Code: def add_tags[tag, word]: return "%s" % [tag, word, tag] print[add_tags['i', 'Python']] print[add_tags['b', 'Python Tutorial']] .. .
Sơ đồ
Trình chỉnh sửa mã Python. .
Có một cách khác để giải quyết giải pháp này?

Làm cách nào để tìm văn bản trong HTML bằng BeautifulSoup?

Phương pháp tiếp cận .
Nhập mô-đun
Chuyển URL
trang yêu cầu
Chỉ định thẻ được tìm kiếm
Đối với Tìm kiếm theo văn bản bên trong thẻ, chúng ta cần kiểm tra điều kiện với sự trợ giúp của hàm chuỗi
Hàm chuỗi sẽ trả về văn bản bên trong thẻ
Khi chúng tôi sẽ điều hướng thẻ thì chúng tôi sẽ kiểm tra điều kiện với văn bản
Trả lại văn bản

Chủ Đề