From 548a40d850c2c4037abecabfe985fa0fa74f4eee Mon Sep 17 00:00:00 2001 From: Karim shoair Date: Sat, 2 Aug 2025 03:36:59 +0300 Subject: [PATCH] perf: speed up `get_all_text` function by another 20% --- scrapling/parser.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scrapling/parser.py b/scrapling/parser.py index 457b0ff..e6a6af3 100644 --- a/scrapling/parser.py +++ b/scrapling/parser.py @@ -318,10 +318,9 @@ class Selector(SelectorsGeneration): """ ignored_elements = set() if ignore_tags: - for tag in ignore_tags: - for element in self._root.xpath(f".//{tag}"): - ignored_elements.add(element) - ignored_elements.update(set(element.iterchildren())) + for element in self._root.iter(*ignore_tags): + ignored_elements.add(element) + ignored_elements.update(set(element.iterchildren())) _all_strings = [] for node in self._root.xpath(".//*"):