aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jvoisin <julien.voisin@dustri.org> 2024-02-29 13:49:55 +0100
committerGravatar Frédéric Guillot <f@miniflux.net> 2024-02-29 19:38:43 -0800
commit347740dce1e7a1e784f49dc5a84b9ee7da953054 (patch)
treec7c6827c81f508a94f7c3ab7a5a7c4392866ca60
parentab85d4d6788e6b6e01ad785db74d386dfc23d039 (diff)
downloadv2-347740dce1e7a1e784f49dc5a84b9ee7da953054.tar.gz
v2-347740dce1e7a1e784f49dc5a84b9ee7da953054.tar.zst
v2-347740dce1e7a1e784f49dc5a84b9ee7da953054.zip
Speed up removeUnlikelyCandidates
`.Not` returns a brand new Selection, copied element by element.
-rw-r--r--internal/reader/readability/readability.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/internal/reader/readability/readability.go b/internal/reader/readability/readability.go
index ec127bca..64e07251 100644
--- a/internal/reader/readability/readability.go
+++ b/internal/reader/readability/readability.go
@@ -137,7 +137,10 @@ func getArticle(topCandidate *candidate, candidates candidateList) string {
}
func removeUnlikelyCandidates(document *goquery.Document) {
- document.Find("*").Not("html,body").Each(func(i int, s *goquery.Selection) {
+ document.Find("*").Each(func(i int, s *goquery.Selection) {
+ if s.Length() == 0 || s.Get(0).Data == "html" || s.Get(0).Data == "body" {
+ return
+ }
class, _ := s.Attr("class")
id, _ := s.Attr("id")
str := class + id