Hướng dẫn remove html tags using regex python - xóa các thẻ html bằng regex python

Tôi có một chuỗi chứa đánh dấu HTML như liên kết, văn bản in đậm, v.v.

Tôi muốn tước tất cả các thẻ để tôi chỉ có văn bản thô.

Cách tốt nhất để làm điều này là gì? Regex?

Hỏi ngày 3 tháng 8 năm 2010 lúc 17:02Aug 3, 2010 at 17:02

I Want This text!'] 'I Want This text!'

Đã trả lời ngày 3 tháng 8 năm 2010 lúc 17:09Aug 3, 2010 at 17:09

John Howardjohn HowardJohn Howard

58.3K23 Huy hiệu vàng48 Huy hiệu bạc66 Huy hiệu đồng23 gold badges48 silver badges66 bronze badges

3

Afaik sử dụng Regex là một ý tưởng tồi để phân tích cú pháp HTML, bạn sẽ tốt hơn khi sử dụng trình phân tích cú pháp HTML/XML như Soup xinh đẹp.

Đã trả lời ngày 3 tháng 8 năm 2010 lúc 17:17Aug 3, 2010 at 17:17

6

Sử dụng lxml.html. Nó nhanh hơn nhiều so với văn bản đẹp và thô là một lệnh duy nhất.

>>> import lxml.html
>>> page = lxml.html.document_fromstring['...']
>>> page.cssselect['body'][0].text_content[]
'...'

Đã trả lời ngày 3 tháng 8 năm 2010 lúc 19:57Aug 3, 2010 at 19:57

Tim McNamaratim McNamaraTim McNamara

17.7K4 Huy hiệu vàng51 Huy hiệu bạc82 Huy hiệu Đồng4 gold badges51 silver badges82 bronze badges

3

Sử dụng SGMLParser. regex hoạt động trong trường hợp đơn giản. Nhưng có rất nhiều sự phức tạp với HTML mà bạn không cần phải đối phó.

>>> from sgmllib import SGMLParser
>>>
>>> class TextExtracter[SGMLParser]:
...     def __init__[self]:
...         self.text = []
...         SGMLParser.__init__[self]
...     def handle_data[self, data]:
...         self.text.append[data]
...     def getvalue[self]:
...         return ''.join[ex.text]
...
>>> ex = TextExtracter[]
>>> ex.feed['hello > world']
>>> ex.getvalue[]
'hello > world'

Đã trả lời ngày 3 tháng 8 năm 2010 lúc 17:32Aug 3, 2010 at 17:32

Wai Yip Tungwai Yip TungWai Yip Tung

17.6K10 Huy hiệu vàng42 Huy hiệu bạc46 Huy hiệu đồng10 gold badges42 silver badges46 bronze badges

1

Tùy thuộc vào việc văn bản sẽ chứa '>' hoặc '

def cleanStrings[self, inStr]:
  a = inStr.find['']
  if a < 0 and b < 0:
    return inStr
  return cleanString[inStr[a:b-a]]

Đã trả lời ngày 3 tháng 8 năm 2010 lúc 17:15Aug 3, 2010 at 17:15

Snurresnurresnurre

2.9852 Huy hiệu vàng23 Huy hiệu bạc31 Huy hiệu đồng2 gold badges23 silver badges31 bronze badges

Đầu tuần này, tôi cần xóa một số thẻ HTML khỏi văn bản, chuỗi đích đã được lưu với các thẻ HTML trong cơ sở dữ liệu và một trong những yêu cầu chỉ định rằng trong một trang cụ thể, chúng tôi cần hiển thị nó dưới dạng văn bản thô.

Ngay từ đầu tôi đã biết rằng các biểu thức thông thường có thể áp dụng cho thử thách này, nhưng vì tôi không phải là một chuyên gia với các biểu thức thường xuyên, tôi đã tìm kiếm một số lời khuyên trong Stack Overflow và sau đó tôi tìm thấy những gì tôi thực sự cần.

Dưới đây là chức năng tôi đã xác định:

def remove_html_tags[text]:
"""Remove html tags from a string"""
import re
clean = re.compile['']
return re.sub[clean, '', text]

Vì vậy, ý tưởng là xây dựng một biểu thức thông thường có thể tìm thấy tất cả các ký tự là một tỷ lệ đầu tiên trong một văn bản và sau đó, sử dụng hàm phụ, chúng ta có thể thay thế tất cả các văn bản giữa các ký hiệu đó bằng một chuỗi trống.

Hãy xem điều này trong vỏ:

Hy vọng điều này có thể giúp bạn!

Làm thế nào để bạn xóa các thẻ HTML trong Python?

Xóa thẻ HTML khỏi chuỗi trong Python bằng mô -đun đẹp. Giống như mô -đun LXML, mô -đun đẹp cũng cung cấp cho chúng tôi các chức năng khác nhau để xử lý dữ liệu văn bản. Để xóa các thẻ HTML khỏi chuỗi bằng mô -đun đẹp, chúng ta có thể sử dụng phương thức đẹp [] và phương thức get_text [].use the BeautifulSoup[] method and the get_text[] method.

Làm cách nào để xóa thẻ HTML bằng cách sử dụng đẹp?

Approach:..
Nhập thư viện BS4 ..
Tạo một tài liệu HTML ..
Phân tích nội dung vào một đối tượng đẹp ..
Lặp lại dữ liệu để xóa các thẻ khỏi tài liệu bằng phương thức phân tách [] ..
Sử dụng phương thức Striped_Strings [] để truy xuất nội dung thẻ ..
In dữ liệu được trích xuất ..

Làm thế nào để bạn xóa các thẻ trong HTML?

Đối với thẻ HTML, bạn có thể nhấn Alt+Enter và chọn Xóa thẻ thay vì xóa thẻ mở và sau đó là thẻ đóng.press Alt+Enter and select Remove tag instead of removing an opening tag and then a closing tag.

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

Cách xóa một phần tử khỏi danh sách trong Python..
Xóa [] Xóa [] xóa phiên bản đầu tiên của giá trị trong danh sách.....
Del.DEL có thể được sử dụng để xóa một chỉ mục duy nhất của danh sách, một lát của danh sách hoặc danh sách đầy đủ.....
pop [] Phương thức POP sẽ loại bỏ một phần tử tại một chỉ mục nhất định và trả về giá trị của nó ..

Bài Viết Liên Quan

Chủ Đề