aboutsummaryrefslogtreecommitdiffstats
path: root/gallery_dl/extractor/webtoons.py
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2020-06-16 02:01:18 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2020-06-16 02:01:18 -0400
commit26ce45757dbc5f5a2bfe342ea45abb3f9e387289 (patch)
tree87a4b6c071c354a3af5c275f678a3279f9cb8c70 /gallery_dl/extractor/webtoons.py
parent0109249eee05a53a0b2153c2531d379ef7f7c251 (diff)
parent8c911e3d62a430f5630c13d51b47201fa8ff3cd1 (diff)
Update upstream source from tag 'upstream/1.14.1'
Update to upstream version '1.14.1' with Debian dir e82856fc7804a4243f6f07244b510d9b0489b7f2
Diffstat (limited to 'gallery_dl/extractor/webtoons.py')
-rw-r--r--gallery_dl/extractor/webtoons.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/gallery_dl/extractor/webtoons.py b/gallery_dl/extractor/webtoons.py
index 86ada49..3b992a2 100644
--- a/gallery_dl/extractor/webtoons.py
+++ b/gallery_dl/extractor/webtoons.py
@@ -35,7 +35,7 @@ class WebtoonsEpisodeExtractor(WebtoonsExtractor):
filename_fmt = "{episode}-{num:>02}.{extension}"
archive_fmt = "{title_no}_{episode}_{num}"
pattern = (BASE_PATTERN + r"/([^/?&#]+)/([^/?&#]+)/(?:[^/?&#]+))"
- r"/viewer(?:\?([^#]+))")
+ r"/viewer(?:\?([^#'\"]+))")
test = (
(("https://www.webtoons.com/en/comedy/safely-endangered"
"/ep-572-earth/viewer?title_no=352&episode_no=572"), {
@@ -111,6 +111,11 @@ class WebtoonsComicExtractor(WebtoonsExtractor):
"list?title_no=1845&page=3"), {
"count": ">= 15",
}),
+ # (#820)
+ (("https://www.webtoons.com/en/challenge/scoob-and-shag/"
+ "list?title_no=210827&page=9"), {
+ "count": ">= 18",
+ }),
)
def __init__(self, match):
@@ -143,6 +148,8 @@ class WebtoonsComicExtractor(WebtoonsExtractor):
@staticmethod
def get_episode_urls(page):
"""Extract and return all episode urls in 'page'"""
- pos = page.find('id="_listUl"')
- return text.extract_iter(
- page, '<a href="', '" class="NPI=a:list', pos)
+ page = text.extract(page, 'id="_listUl"', '</ul>')[0]
+ return [
+ match.group(0)
+ for match in WebtoonsEpisodeExtractor.pattern.finditer(page)
+ ]