Làm thế nào để phát hiện chuỗi chứa HTML [có thể là HTML4, HTML5, chỉ là một phần của HTML trong văn bản]? Tôi không cần một phiên bản HTML, mà là nếu chuỗi chỉ là một văn bản hoặc nó chứa HTML. Văn bản thường là đa dòng với các dòng trống
Update:
Ví dụ đầu vào:
html:
I'm title
Hello, world
không html:
<
head html
Đã hỏi ngày 20 tháng 7 năm 2014 lúc 23:54Jul 20, 2014 at 23:54
tĩnhstatic
7.82615 Huy hiệu vàng62 Huy hiệu bạc88 Huy hiệu đồng15 gold badges62 silver badges88 bronze badges
2
Bạn có thể sử dụng trình phân tích cú pháp HTML, như
<
head html
1. Lưu ý rằng nó thực sự cố gắng hết sức để phân tích HTML, thậm chí HTML bị hỏng, nó có thể rất và không khoan dung tùy thuộc vào trình phân tích cú pháp cơ bản:>>> from bs4 import BeautifulSoup
>>> html = """
... I'm title
... """
>>> non_html = "This is not an html"
>>> bool[BeautifulSoup[html, "html.parser"].find[]]
True
>>> bool[BeautifulSoup[non_html, "html.parser"].find[]]
False
Điều này về cơ bản cố gắng tìm bất kỳ phần tử HTML nào bên trong chuỗi. Nếu tìm thấy - kết quả là
<
head html
2.Một ví dụ khác với đoạn HTML:
>>> html = "Hello, world"
>>> bool[BeautifulSoup[html, "html.parser"].find[]]
True
Ngoài ra, bạn có thể sử dụng
<
head html
3:>>> import lxml.html
>>> html = 'Hello, world'
>>> non_html = " {}> {}'. định dạng [*attr]] cho attr trong attrs].