diff options
author | 2024-02-29 13:49:55 +0100 | |
---|---|---|
committer | 2024-02-29 19:38:43 -0800 | |
commit | 347740dce1e7a1e784f49dc5a84b9ee7da953054 (patch) | |
tree | c7c6827c81f508a94f7c3ab7a5a7c4392866ca60 | |
parent | ab85d4d6788e6b6e01ad785db74d386dfc23d039 (diff) | |
download | v2-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.go | 5 |
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 |