2020-04-18 11:45:44 +00:00
|
|
|
# SPDX-License-Identifier: MIT
|
2016-10-28 22:21:41 +00:00
|
|
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
2014-01-05 15:50:57 +00:00
|
|
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
2020-01-13 06:34:05 +00:00
|
|
|
# Copyright (C) 2015-2020 Tobias Gruetzmacher
|
|
|
|
# Copyright (C) 2019-2020 Daniel Ring
|
2020-10-18 18:28:00 +00:00
|
|
|
from re import compile, IGNORECASE
|
2016-04-03 22:12:53 +00:00
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
from ..scraper import BasicScraper, ParserScraper
|
|
|
|
from .common import ComicControlScraper, WordPressScraper, WordPressNavi, WordPressWebcomic
|
2013-04-11 16:27:43 +00:00
|
|
|
|
2012-06-20 19:58:13 +00:00
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class Kaspall(ParserScraper):
|
2019-06-23 04:19:06 +00:00
|
|
|
stripUrl = 'http://www.kaspall.com/comic/%s'
|
|
|
|
url = stripUrl % '2015/10/11'
|
|
|
|
firstStripUrl = '2004/08/05'
|
|
|
|
imageSearch = '//img[contains(@src, "comics/")]'
|
|
|
|
prevSearch = '//a[./img[contains(@src, "prev_comic")]]'
|
|
|
|
endOfLife = True
|
|
|
|
|
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class KevinAndKell(BasicScraper):
|
2013-02-04 20:00:26 +00:00
|
|
|
url = 'http://www.kevinandkell.com/'
|
|
|
|
stripUrl = url + '%s/kk%s%s.html'
|
2013-03-25 18:48:19 +00:00
|
|
|
firstStripUrl = stripUrl % ('1995', '09', '03')
|
2016-03-20 19:48:42 +00:00
|
|
|
imageSearch = compile(r'<img.+?src="(/?(\d+/)?strips/kk\d+.(gif|jpg))"',
|
|
|
|
IGNORECASE)
|
|
|
|
prevSearch = compile(
|
|
|
|
r'<a.+?href="(/?(\.\./)?\d+/kk\d+\.html)"[^>]*><span>Previous Strip',
|
|
|
|
IGNORECASE)
|
2012-06-20 19:58:13 +00:00
|
|
|
help = 'Index format: yyyy-mm-dd'
|
|
|
|
|
2013-03-06 19:00:30 +00:00
|
|
|
def getIndexStripUrl(self, index):
|
|
|
|
return self.stripUrl % tuple(map(int, index.split('-')))
|
2012-06-20 19:58:13 +00:00
|
|
|
|
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class KickInTheHead(WordPressNavi):
|
2013-03-12 20:16:17 +00:00
|
|
|
url = 'http://www.kickinthehead.org/'
|
2016-04-10 21:04:34 +00:00
|
|
|
firstStripUrl = url + '2003/03/20/ipod-envy/'
|
2013-03-12 20:16:17 +00:00
|
|
|
|
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class KillSixBillionDemons(WordPressNavi):
|
2016-05-31 07:27:34 +00:00
|
|
|
url = 'http://killsixbilliondemons.com/'
|
|
|
|
firstStripUrl = url + 'comic/kill-six-billion-demons-chapter-1/'
|
|
|
|
multipleImagesPerStrip = True
|
|
|
|
adult = True
|
|
|
|
|
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class Kitfox(WordPressScraper):
|
2019-07-13 05:10:29 +00:00
|
|
|
url = 'http://www.kitfox.com/wordpress/'
|
|
|
|
stripUrl = url + '?comic=%s'
|
|
|
|
firstStripUrl = stripUrl % 'the-adventure-begins-almost'
|
|
|
|
|
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class KiwiBlitz(ComicControlScraper):
|
2019-07-13 05:09:06 +00:00
|
|
|
url = 'http://www.kiwiblitz.com/'
|
|
|
|
stripUrl = url + 'comic/%s'
|
|
|
|
firstStripUrl = stripUrl % 'welcome-to-kb'
|
2016-04-03 22:12:53 +00:00
|
|
|
|
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class Krakow(BasicScraper):
|
2013-03-06 19:21:10 +00:00
|
|
|
url = 'http://www.krakow.krakowstudios.com/'
|
|
|
|
stripUrl = url + 'archive.php?date=%s'
|
2013-04-10 21:57:09 +00:00
|
|
|
firstStripUrl = stripUrl % '20081111'
|
2013-03-06 19:21:10 +00:00
|
|
|
imageSearch = compile(r'<img src="(comics/.+?)"')
|
2016-03-20 19:48:42 +00:00
|
|
|
prevSearch = compile(
|
|
|
|
r'<a href="(archive\.php\?date=.+?)"><img border=0 name=previous_day')
|
2013-03-06 19:21:10 +00:00
|
|
|
help = 'Index format: yyyymmdd'
|
|
|
|
|
|
|
|
|
2022-06-06 10:08:32 +00:00
|
|
|
class KuroShouri(WordPressWebcomic):
|
2013-04-10 16:19:11 +00:00
|
|
|
url = 'http://kuroshouri.com/'
|
2020-10-18 18:28:00 +00:00
|
|
|
stripUrl = url + 'kuroshouri/%s/'
|
|
|
|
firstStripUrl = stripUrl % 'kuro-shouri'
|