From 38d433f292f019ac74a5787816b9c268305474f4 Mon Sep 17 00:00:00 2001 From: Varuna Jayasiri Date: Wed, 29 Apr 2020 12:58:46 +0530 Subject: [PATCH 1/2] pick ancestor nodes --- newspaper/extractors.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/newspaper/extractors.py b/newspaper/extractors.py index 96255401..11b5c1bf 100644 --- a/newspaper/extractors.py +++ b/newspaper/extractors.py @@ -830,6 +830,24 @@ def calculate_best_node(self, doc): cnt += 1 i += 1 + i = 0 + while True: + if i >= len(parent_nodes): + break + + node = parent_nodes[i] + i += 1 + if len(node) < 2: + continue + else: + parent_node = self.parser.getParent(node) + upscore = self.get_score(node) + self.update_score(parent_node, upscore) + self.update_node_count(parent_node, 1) + + if parent_node not in parent_nodes: + parent_nodes.append(parent_node) + top_node_score = 0 for e in parent_nodes: score = self.get_score(e) From 2506314f0fa7e0eb7e0decddad977bdeb6253adf Mon Sep 17 00:00:00 2001 From: Varuna Jayasiri Date: Wed, 29 Apr 2020 14:33:47 +0530 Subject: [PATCH 2/2] fix --- newspaper/extractors.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/newspaper/extractors.py b/newspaper/extractors.py index 11b5c1bf..0c4c7d9f 100644 --- a/newspaper/extractors.py +++ b/newspaper/extractors.py @@ -837,7 +837,7 @@ def calculate_best_node(self, doc): node = parent_nodes[i] i += 1 - if len(node) < 2: + if len(node) >= 2: continue else: parent_node = self.parser.getParent(node)