2012-06-20 20:41:04 +00:00
|
|
|
# -*- coding: iso-8859-1 -*-
|
|
|
|
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
|
2013-02-05 18:51:46 +00:00
|
|
|
# Copyright (C) 2012-2013 Bastian Kleineidam
|
2012-06-20 19:58:13 +00:00
|
|
|
|
2012-11-21 20:57:26 +00:00
|
|
|
from re import compile, IGNORECASE
|
2012-10-11 10:03:12 +00:00
|
|
|
from ..scraper import _BasicScraper
|
2012-12-04 06:02:40 +00:00
|
|
|
from ..util import tagre
|
2012-06-20 19:58:13 +00:00
|
|
|
|
2013-03-21 17:33:16 +00:00
|
|
|
class KatzenfutterGeleespritzer(_BasicScraper):
|
2013-03-20 16:39:49 +00:00
|
|
|
url = 'http://www.katzenfuttergeleespritzer.de/'
|
|
|
|
stripUrl = url + 'comic/%s/'
|
|
|
|
firstStripUrl = stripUrl % 'dont-drink-and-drive'
|
2013-04-04 16:30:02 +00:00
|
|
|
imageSearch = (
|
|
|
|
compile(tagre("img", "src", r'(http://www\.katzenfuttergeleespritzer\.de/wp-content/uploads/\d+/\d+/\d+-\d+-\d+[^"]+)')),
|
|
|
|
compile(tagre("img", "src", r'(http://www\.katzenfuttergeleespritzer\.de/wp-content/uploads/\d+/\d+/mmai_404[^"]+)')),
|
|
|
|
)
|
2013-03-20 16:39:49 +00:00
|
|
|
prevSearch = compile(tagre("a", "href", r'(http://www.katzenfuttergeleespritzer.de/comic/[^"]+)', after="navi-prev"))
|
|
|
|
help = 'Index format: stripname'
|
|
|
|
lang = 'de'
|
|
|
|
|
|
|
|
|
2012-06-20 19:58:13 +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')
|
2012-06-20 19:58:13 +00:00
|
|
|
imageSearch = compile(r'<img.+?src="(/?(\d+/)?strips/kk\d+.gif)"', IGNORECASE)
|
|
|
|
prevSearch = compile(r'<a.+?href="(/?(\.\./)?\d+/kk\d+\.html)"[^>]*><span>Previous Strip', IGNORECASE)
|
|
|
|
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
|
|
|
|
|
|
|
|
2013-03-06 19:21:10 +00:00
|
|
|
class Key(_BasicScraper):
|
|
|
|
url = 'http://key.shadilyn.com/latestpage.html'
|
|
|
|
stripUrl = 'http://key.shadilyn.com/pages/%s.html'
|
|
|
|
imageSearch = compile(r'"((?:images/.+?)|(?:pages/images/.+?))"')
|
|
|
|
prevSearch = compile(r'</a><a href="(.+?html)".+?prev')
|
|
|
|
help = 'Index format: nnn'
|
|
|
|
|
|
|
|
|
2013-03-12 20:16:17 +00:00
|
|
|
class KickInTheHead(_BasicScraper):
|
|
|
|
url = 'http://www.kickinthehead.org/'
|
|
|
|
stripUrl = url + '%s/'
|
|
|
|
firstStripUrl = stripUrl % '2003/03/20/ipod-envy'
|
|
|
|
imageSearch = compile(tagre("img", "src", r'(http://www\.kickinthehead\.org/kickinthehead3/comics/\d+-\d+-\d+[^"]+)'))
|
|
|
|
prevSearch = compile(tagre("a", "href", r'(http://www\.kickinthehead\.org/\d+/\d+/\d+/[^"]+)', after="navi-prev"))
|
|
|
|
help = 'Index format: yyyy/mm/dd/stripname'
|
|
|
|
|
|
|
|
|
2012-06-20 19:58:13 +00:00
|
|
|
class KillerKomics(_BasicScraper):
|
2013-02-04 20:00:26 +00:00
|
|
|
url = 'http://www.killerkomics.com/web-comics/index_ang.cfm'
|
2012-11-13 18:10:19 +00:00
|
|
|
stripUrl = 'http://www.killerkomics.com/web-comics/%s.cfm'
|
2012-06-20 19:58:13 +00:00
|
|
|
imageSearch = compile(r'<img src="(http://www.killerkomics.com/FichiersUpload/Comics/.+?)"')
|
|
|
|
prevSearch = compile(r'<div id="precedent"><a href="(.+?)"')
|
|
|
|
help = 'Index format: strip-name'
|
2012-12-08 20:30:51 +00:00
|
|
|
|
|
|
|
|
2012-12-13 20:05:27 +00:00
|
|
|
# XXX disallowed by robots.txt
|
|
|
|
class _Kofightclub(_BasicScraper):
|
2013-02-04 20:00:26 +00:00
|
|
|
url = 'http://www.kofightclub.com/'
|
|
|
|
stripUrl = url + 'd/%s.html'
|
2012-12-08 20:30:51 +00:00
|
|
|
imageSearch = compile(tagre("img", "src", r'(\.\./images/\d+[^"]+)'))
|
|
|
|
prevSearch = compile(tagre("a", "href", r'((?:http://www\.kofightclub\.com)?/d/\d+\.html)')
|
|
|
|
+ tagre("img", "alt", "Previous comic"))
|
|
|
|
help = 'Index format: yyyymmdd'
|
2012-12-13 20:05:27 +00:00
|
|
|
|
|
|
|
|
2013-03-06 19:21:10 +00:00
|
|
|
class Krakow(_BasicScraper):
|
|
|
|
url = 'http://www.krakow.krakowstudios.com/'
|
|
|
|
stripUrl = url + 'archive.php?date=%s'
|
|
|
|
imageSearch = compile(r'<img src="(comics/.+?)"')
|
|
|
|
prevSearch = compile(r'<a href="(archive\.php\?date=.+?)"><img border=0 name=previous_day')
|
|
|
|
help = 'Index format: yyyymmdd'
|
|
|
|
|
|
|
|
|
|
|
|
class Kukuburi(_BasicScraper):
|
|
|
|
url = 'http://www.kukuburi.com/current/'
|
|
|
|
stripUrl = 'http://www.kukuburi.com/v2/%s/'
|
|
|
|
imageSearch = compile(tagre("img", "src", r'(http://www\.kukuburi\.com/v2/comics/[^"]+)', after='alt="[^"]'))
|
|
|
|
prevSearch = compile(r'nav-previous.+?"(http.+?)"')
|
|
|
|
help = 'Index format: yyyy/mm/dd/stripname'
|
|
|
|
|
|
|
|
|
2012-12-13 20:05:27 +00:00
|
|
|
class KuroShouri(_BasicScraper):
|
2013-02-04 20:00:26 +00:00
|
|
|
url = 'http://kuroshouri.com/'
|
|
|
|
stripUrl = url + '?webcomic_post=%s'
|
2012-12-13 20:05:27 +00:00
|
|
|
imageSearch = compile(tagre("img", "src", r"(http://kuroshouri\.com/wp-content/webcomic/kuroshouri/[^'\"]+)", quote="['\"]"))
|
|
|
|
prevSearch = compile(tagre("a", "href", r'(http://kuroshouri\.com/\?webcomic_post=[^"]+)', after="previous"))
|
|
|
|
help = 'Index format: chapter-n-page-m'
|