From 3169aafd2825f547d0eab80148cf3dce3f04b505 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Sun, 13 Sep 2026 13:51:23 +0200 Subject: [PATCH] [feat] SXNG_Response: add method to parse html body (#6718) --- searx/extended_types.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/searx/extended_types.py b/searx/extended_types.py index 445ff0488..dc883b934 100644 --- a/searx/extended_types.py +++ b/searx/extended_types.py @@ -29,6 +29,7 @@ from urllib.parse import urlsplit import flask from curl_cffi.requests import Response as CurlResponse +from lxml import html if typing.TYPE_CHECKING: import searx.preferences @@ -100,9 +101,14 @@ class SXNG_Response(CurlResponse): _url: str = "" @property - def url(self) -> SXNG_URL: # type: ignore[override] + def url(self) -> SXNG_URL: return SXNG_URL(self._url) @url.setter def url(self, value: str) -> None: self._url = str(value or "") + + def html(self) -> html.HtmlElement: + """Parses the result into a HTML document via :py:obj:`lxml.html`.""" + + return html.fromstring(self.text)