Sort entries.

This commit is contained in:
Bastian Kleineidam 2013-04-10 18:36:33 +02:00
parent 54283775a8
commit fb05c10808
6 changed files with 329 additions and 329 deletions

View file

@ -54,6 +54,44 @@ class AcademyVale(_BasicScraper):
help = 'Index format: nnn'
class Achewood(_BasicScraper):
url = 'http://www.achewood.com/'
stripUrl = url + 'index.php?date=%s'
firstStripUrl = stripUrl % '00000000'
imageSearch = compile(tagre("img", "src", r'(/comic\.php\?date=\d+)'))
prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)', after="Previous"))
help = 'Index format: mmddyyyy'
namer = regexNamer(compile(r'date=(\d+)'))
class AetheriaEpics(_BasicScraper):
url = 'http://aetheria-epics.schala.net/'
stripUrl = url + '%s.html'
firstStripUrl = stripUrl % '00001'
imageSearch = compile(tagre("img", "src", r'(\d{5}\.jpg)'))
prevSearch = compile(tagre("a", "href", r'(\d{5}\.html)') + "Previous")
help = 'Index format: nnn'
class AfterStrife(_BasicScraper):
url = 'http://afterstrife.com/?p=262'
stripUrl = 'http://afterstrife.com/?p=%s'
imageSearch = compile(r'<img src="(http://afterstrife.com/strips/.+?)"')
prevSearch = compile(r'<a href="(.+?)" class="navi navi-prev"')
help = 'Index format: nnn'
class AGirlAndHerFed(_BasicScraper):
url = 'http://www.agirlandherfed.com/'
starter = bounceStarter(url,
compile(r'<a href="([^"]+)">[^>]+Back'))
stripUrl = url + '1.%s.html'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(img/strip/[^"]+\.jpg)'))
prevSearch = compile(r'<a href="([^"]+)">[^>]+Back')
help = 'Index format: nnn'
class AhoiPolloi(_BasicScraper):
url = 'http://ahoipolloi.blogger.de/'
stripUrl = url + '?day=%s'
@ -69,6 +107,15 @@ class AhoiPolloi(_BasicScraper):
return imageUrl.rsplit('/', 1)[1]
class AirForceBlues(_BasicScraper):
url = 'http://www.afblues.com/'
stripUrl = url + 'wordpress/%s/'
firstStripUrl = stripUrl % '1997/09/07/need-a-clue-do-ya'
imageSearch = compile(tagre("img", "src", r'(http://www\.afblues\.com/wordpress/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after='Previous'))
help = 'Index format: yyyy/mm/dd/stripname'
class ALessonIsLearned(_BasicScraper):
url = 'http://www.alessonislearned.com/'
prevSearch = compile(tagre("a", "href", r"(index\.php\?comic=\d+)", quote="'")+r"[^>]+previous")
@ -97,6 +144,33 @@ class AlienLovesPredator(_BasicScraper):
help = 'Index format: yyyy/mm/dd/name'
class AlienShores(_BasicScraper):
url = 'http://alienshores.com/alienshores_band/'
stripUrl = url + '%s'
imageSearch = compile(tagre("img", "src", r'(http://alienshores\.com/alienshores_band/wp-content/uploads/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://alienshores\.com/[^"]+)', after="prev"))
help = 'Index format: yyyy/mm/dd/p<nn>/'
class ALLCAPS(_BasicScraper):
url = 'http://www.allcapscomix.com/'
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2008/08/welcome-to-all-caps'
imageSearch = compile(tagre("img", "src", r'(http://www\.allcapscomix\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous</a>")
help = 'Index format: yyyy/mm/strip-name'
class AllTheGrowingThings(_BasicScraper):
url = 'http://growingthings.typodmary.com/'
rurl = escape(url)
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2009/04/21/all-the-growing-things'
imageSearch = compile(tagre("img", "src", r'(%sfiles/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/strip-name'
class AlphaLuna(_BasicScraper):
url = 'http://www.alphaluna.net/'
stripUrl = url + 'issue-%s/'
@ -114,6 +188,15 @@ class AlphaLunaSpanish(AlphaLuna):
firstStripUrl = stripUrl % '1/portada'
class AlsoBagels(_BasicScraper):
url = 'http://alsobagels.com/'
rurl = escape(url)
stripUrl = url + 'index.php/comic/%s/'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sindex\.php/comic/[^"]+)' % rurl, after="Previous"))
help = 'Index format: strip-name'
class Altermeta(_BasicScraper):
url = 'http://altermeta.net/'
stripUrl = url + 'archive.php?comic=%s'
@ -140,6 +223,24 @@ class AmazingSuperPowers(_BasicScraper):
help = 'Index format: yyyy/mm/name'
class Amya(_BasicScraper):
url = 'http://www.amyachronicles.com/'
rurl = escape(url)
stripUrl = url + 'archives/%s'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchives/\d+)' % rurl, after="Previous"))
help = 'Index format: n'
class Angband(_BasicScraper):
url = 'http://angband.calamarain.net/'
stripUrl = url + 'view.php?date=%s'
firstStripUrl = stripUrl % '2005-12-30'
imageSearch = compile(tagre("img", "src", r'(comics/Scroll[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(view\.php\?date\=[^"]+)')+"Previous")
help = 'Index format: yyyy-mm-dd'
class Angels2200(_BasicScraper):
url = 'http://www.janahoffmann.com/angels/'
stripUrl = url + '%s'
@ -148,6 +249,14 @@ class Angels2200(_BasicScraper):
help = 'Index format: yyyy/mm/dd/part-<n>-comic-<n>'
class Annyseed(_BasicScraper):
url = 'http://www.colourofivy.com/annyseed_webcomic_latest.htm'
stripUrl = 'http://www.colourofivy.com/annyseed_webcomic%s.htm'
imageSearch = compile(tagre("img", "src", r'(Annyseed[^"]+)'))
prevSearch = compile(r'<a href="(http://www\.colourofivy\.com/[^"]+)"><img src="Last.gif"')
help = 'Index format: nnn'
class Antics(_BasicScraper):
url = 'http://www.anticscomic.com/'
rurl = escape(url)
@ -167,16 +276,6 @@ class AppleGeeks(_BasicScraper):
help = 'Index format: n (unpadded)'
class Achewood(_BasicScraper):
url = 'http://www.achewood.com/'
stripUrl = url + 'index.php?date=%s'
firstStripUrl = stripUrl % '00000000'
imageSearch = compile(tagre("img", "src", r'(/comic\.php\?date=\d+)'))
prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)', after="Previous"))
help = 'Index format: mmddyyyy'
namer = regexNamer(compile(r'date=(\d+)'))
class ASofterWorld(_BasicScraper):
url = 'http://www.asofterworld.com/'
stripUrl = url + 'index.php?id=%s'
@ -213,23 +312,6 @@ class AstronomyPOTD(_BasicScraper):
imageUrl.split('/')[-1].split('.')[0])
class AfterStrife(_BasicScraper):
url = 'http://afterstrife.com/?p=262'
stripUrl = 'http://afterstrife.com/?p=%s'
imageSearch = compile(r'<img src="(http://afterstrife.com/strips/.+?)"')
prevSearch = compile(r'<a href="(.+?)" class="navi navi-prev"')
help = 'Index format: nnn'
class ALLCAPS(_BasicScraper):
url = 'http://www.allcapscomix.com/'
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2008/08/welcome-to-all-caps'
imageSearch = compile(tagre("img", "src", r'(http://www\.allcapscomix\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous</a>")
help = 'Index format: yyyy/mm/strip-name'
class ASkeweredParadise(_BasicScraper):
url = 'http://aspcomics.net/'
stripUrl = url + 'comic/%s'
@ -239,88 +321,6 @@ class ASkeweredParadise(_BasicScraper):
help = 'Index format: nnn'
class AGirlAndHerFed(_BasicScraper):
url = 'http://www.agirlandherfed.com/'
starter = bounceStarter(url,
compile(r'<a href="([^"]+)">[^>]+Back'))
stripUrl = url + '1.%s.html'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(img/strip/[^"]+\.jpg)'))
prevSearch = compile(r'<a href="([^"]+)">[^>]+Back')
help = 'Index format: nnn'
class AetheriaEpics(_BasicScraper):
url = 'http://aetheria-epics.schala.net/'
stripUrl = url + '%s.html'
firstStripUrl = stripUrl % '00001'
imageSearch = compile(tagre("img", "src", r'(\d{5}\.jpg)'))
prevSearch = compile(tagre("a", "href", r'(\d{5}\.html)') + "Previous")
help = 'Index format: nnn'
class AirForceBlues(_BasicScraper):
url = 'http://www.afblues.com/'
stripUrl = url + 'wordpress/%s/'
firstStripUrl = stripUrl % '1997/09/07/need-a-clue-do-ya'
imageSearch = compile(tagre("img", "src", r'(http://www\.afblues\.com/wordpress/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after='Previous'))
help = 'Index format: yyyy/mm/dd/stripname'
class AlienShores(_BasicScraper):
url = 'http://alienshores.com/alienshores_band/'
stripUrl = url + '%s'
imageSearch = compile(tagre("img", "src", r'(http://alienshores\.com/alienshores_band/wp-content/uploads/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://alienshores\.com/[^"]+)', after="prev"))
help = 'Index format: yyyy/mm/dd/p<nn>/'
class AllTheGrowingThings(_BasicScraper):
url = 'http://growingthings.typodmary.com/'
rurl = escape(url)
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2009/04/21/all-the-growing-things'
imageSearch = compile(tagre("img", "src", r'(%sfiles/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/strip-name'
class Amya(_BasicScraper):
url = 'http://www.amyachronicles.com/'
rurl = escape(url)
stripUrl = url + 'archives/%s'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchives/\d+)' % rurl, after="Previous"))
help = 'Index format: n'
class Angband(_BasicScraper):
url = 'http://angband.calamarain.net/'
stripUrl = url + 'view.php?date=%s'
firstStripUrl = stripUrl % '2005-12-30'
imageSearch = compile(tagre("img", "src", r'(comics/Scroll[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(view\.php\?date\=[^"]+)')+"Previous")
help = 'Index format: yyyy-mm-dd'
class AlsoBagels(_BasicScraper):
url = 'http://alsobagels.com/'
rurl = escape(url)
stripUrl = url + 'index.php/comic/%s/'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sindex\.php/comic/[^"]+)' % rurl, after="Previous"))
help = 'Index format: strip-name'
class Annyseed(_BasicScraper):
url = 'http://www.colourofivy.com/annyseed_webcomic_latest.htm'
stripUrl = 'http://www.colourofivy.com/annyseed_webcomic%s.htm'
imageSearch = compile(tagre("img", "src", r'(Annyseed[^"]+)'))
prevSearch = compile(r'<a href="(http://www\.colourofivy\.com/[^"]+)"><img src="Last.gif"')
help = 'Index format: nnn'
class AxeCop(_BasicScraper):
url = 'http://axecop.com/'
rurl = escape(url)

View file

@ -169,6 +169,16 @@ class BMovieComic(_BasicScraper):
help = 'Index format: n'
class BobWhite(_BasicScraper):
url = 'http://www.bobwhitecomics.com/'
rurl = escape(url)
stripUrl = url + '?webcomic_post=%s'
firstStripUrl = stripUrl % '20110504'
imageSearch = compile(tagre("img", "src", r"(%swp/wp-content/webcomic/untitled/\d+.jpg)" % rurl))
prevSearch = compile(tagre("a", "href", "(%s\?webcomic_post=\d+)" % rurl)+r'[^"]+Previous')
help = 'Index format: yyyymmdd'
class BookOfBiff(_BasicScraper):
url = 'http://www.thebookofbiff.com/'
stripUrl = url + '%s'
@ -177,6 +187,44 @@ class BookOfBiff(_BasicScraper):
help = 'Index format: yyyy/mm/dd/stripnum-strip-name'
class BoredAndEvil(_BasicScraper):
url = 'http://www.boredandevil.com/'
stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '2004-06-07'
imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)'))
prevSearch = compile(r'First Comic.+<a href="(.+?)".+previous-on.gif')
starter = indirectStarter(url, prevSearch)
help = 'Index format: yyyy-mm-dd'
class BoxerHockey(_BasicScraper):
url = 'http://boxerhockey.fireball20xl.com/'
stripUrl = url + '?id=%s'
firstStripUrl = stripUrl % '56'
imageSearch = compile(tagre("img", "src", r'(img/comic/[^"]+)', after="comicimg"))
prevSearch = compile(tagre("a", "href", r'(http://www\.boxerhockey\.com/\?id=\d+)') +
r'[^>]+Previous')
help = 'Index format: n (unpadded)'
@classmethod
def prevUrlModifier(cls, prevUrl):
if prevUrl:
return prevUrl.replace("www.boxerhockey.com", "boxerhockey.fireball20xl.com")
class BoyOnAStickAndSlither(_BasicScraper):
url = 'http://www.boasas.com/'
stripUrl = url + 'page/%s'
firstStripUrl = stripUrl % '2'
imageSearch = compile(tagre("img", "src", r'(http://\d+\.media\.tumblr\.com/[^"]+_1280\.png)'))
prevSearch = compile(tagre("a", "href", r'(/page/\d+)') + "<span>Next page")
help = 'Index format: n (unpadded)'
@classmethod
def namer(cls, imageUrl, pageUrl):
return pageUrl.rsplit('/')[-1]
class BratHalla(_BasicScraper):
url = 'http://brat-halla.com/'
stripUrl = url + 'comic/%s/'
@ -244,54 +292,6 @@ class Brink(_BasicScraper):
help = 'Index format: number'
class BobWhite(_BasicScraper):
url = 'http://www.bobwhitecomics.com/'
rurl = escape(url)
stripUrl = url + '?webcomic_post=%s'
firstStripUrl = stripUrl % '20110504'
imageSearch = compile(tagre("img", "src", r"(%swp/wp-content/webcomic/untitled/\d+.jpg)" % rurl))
prevSearch = compile(tagre("a", "href", "(%s\?webcomic_post=\d+)" % rurl)+r'[^"]+Previous')
help = 'Index format: yyyymmdd'
class BoredAndEvil(_BasicScraper):
url = 'http://www.boredandevil.com/'
stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '2004-06-07'
imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)'))
prevSearch = compile(r'First Comic.+<a href="(.+?)".+previous-on.gif')
starter = indirectStarter(url, prevSearch)
help = 'Index format: yyyy-mm-dd'
class BoxerHockey(_BasicScraper):
url = 'http://boxerhockey.fireball20xl.com/'
stripUrl = url + '?id=%s'
firstStripUrl = stripUrl % '56'
imageSearch = compile(tagre("img", "src", r'(img/comic/[^"]+)', after="comicimg"))
prevSearch = compile(tagre("a", "href", r'(http://www\.boxerhockey\.com/\?id=\d+)') +
r'[^>]+Previous')
help = 'Index format: n (unpadded)'
@classmethod
def prevUrlModifier(cls, prevUrl):
if prevUrl:
return prevUrl.replace("www.boxerhockey.com", "boxerhockey.fireball20xl.com")
class BoyOnAStickAndSlither(_BasicScraper):
url = 'http://www.boasas.com/'
stripUrl = url + 'page/%s'
firstStripUrl = stripUrl % '2'
imageSearch = compile(tagre("img", "src", r'(http://\d+\.media\.tumblr\.com/[^"]+_1280\.png)'))
prevSearch = compile(tagre("a", "href", r'(/page/\d+)') + "<span>Next page")
help = 'Index format: n (unpadded)'
@classmethod
def namer(cls, imageUrl, pageUrl):
return pageUrl.rsplit('/')[-1]
class BrightlyWound(_BasicScraper):
baseUrl = 'http://www.brightlywound.com/'
url = baseUrl + '?comic=137'

View file

@ -39,6 +39,15 @@ class CaseyAndAndy(_BasicScraper):
help = 'Index format: number'
class CasuallyKayla(_BasicScraper):
url = 'http://casuallykayla.com/'
stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '89'
imageSearch = compile(tagre("img", "src", r'(http://casuallykayla\.com/comics/[^"]+)'))
prevSearch = compile(tagre("div", "class", r'nav-previous') + tagre("a", "href", r'([^"]+)'))
help = 'Index format: nnn'
class Catalyst(_BasicScraper):
baseUrl = "http://catalyst.spiderforest.com/"
rurl = escape(baseUrl)
@ -50,6 +59,14 @@ class Catalyst(_BasicScraper):
help = 'Index format: number'
class CatAndGirl(_BasicScraper):
url = 'http://catandgirl.com/'
stripUrl = url + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(http://catandgirl\.com/archive/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous</a>")
help = 'Index format: n (unpadded)'
class Catena(_BasicScraper):
url = 'http://catenamanor.com/'
stripUrl = url + '%s'
@ -58,6 +75,16 @@ class Catena(_BasicScraper):
help = 'Index format: yyyy/mm/dd/<name>'
class CatsAndCameras(_BasicScraper):
url = 'http://catsncameras.com/cnc/'
rurl = escape(url)
stripUrl = url + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(%scnc/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("div", "class", r'nav-previous') +
tagre("a", "href", r'(%scnc/[^"]+)' % rurl))
help = 'Index format: nnn'
class ChainsawSuit(_BasicScraper):
url = 'http://chainsawsuit.com/'
rurl = escape(url)
@ -67,6 +94,17 @@ class ChainsawSuit(_BasicScraper):
help = 'Index format: yyyy/mm/dd/stripname'
class Champ2010(_BasicScraper):
baseurl = 'http://jedcollins.com/champ2010/'
rurl = escape(baseurl)
# the latest URL is hard coded since the comic is discontinued
url = baseurl + 'champ-12-30-10.html'
stripUrl = baseurl + '%s.html'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="Previous"))
help = 'Index format: yy-dd-mm'
class ChannelAte(_BasicScraper):
url = 'http://www.channelate.com/'
rurl = escape(url)
@ -92,6 +130,14 @@ class CheckerboardNightmare(_BasicScraper):
help='Index format: yyyymmdd'
class Chester5000XYV(_BasicScraper):
url = 'http://jessfink.com/Chester5000XYV/'
stripUrl = url + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(http://jessfink\.com/Chester5000XYV/comics/[^"]+)'))
prevSearch = compile(r'<a href="(.+?)"><span class="prev">')
help = 'Index format: nnn'
class Chisuji(_BasicScraper):
url = 'http://www.chisuji.com/'
stripUrl = url + '%s'
@ -100,6 +146,18 @@ class Chisuji(_BasicScraper):
help = 'Index format: yyyy/mm/dd/strip-name'
class Chucklebrain(_BasicScraper):
url = 'http://www.chucklebrain.com/main.php'
starter = indirectStarter(url,
compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") +
tagre("img", "src", r'/images/last\.jpg', quote="'")))
stripUrl = url + '?img=%s'
imageSearch = compile(tagre("img", "src", r'(/images/strip[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") +
tagre("img", "src", r'/images/previous\.jpg', quote="'"))
help = 'Index format: nnn'
class ChugworthAcademy(_BasicScraper):
url = 'http://chugworth.com/'
stripUrl = url + '?p=%s'
@ -124,6 +182,25 @@ class CigarroAndCerveja(_BasicScraper):
help = 'Index format: non'
class Collar6(_BasicScraper):
url = 'http://collar6.com/'
rurl = escape(url)
stripUrl = url + 'archive/%s'
imageSearch = compile(tagre("img", "src", r'(%swp-content/webcomic/collar6/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchive/[^"]+)' % rurl, after="previous"))
help = 'Index format: <name>'
class CompanyY(_BasicScraper):
url = 'http://company-y.com/'
rurl = escape(url)
stripUrl = url + '%s/'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("div", "class", r"nav-previous") +
tagre("a", "href", r'(%s[^"]+)' % rurl))
help = 'Index format: yyyy/mm/dd/strip-name'
class Comedity(_BasicScraper):
url = 'http://www.comedity.com/'
stripUrl = url + 'index.php?strip_id=%s'
@ -159,6 +236,20 @@ class CoolCatStudio(_BasicScraper):
help = 'Index format: yyyymmdd'
class CorydonCafe(_BasicScraper):
url = 'http://corydoncafe.com/'
starter = indirectStarter(url,
compile(tagre("a", "href", r'(\./\d+/[^"]+)')))
stripUrl = url + '%s.php'
imageSearch = compile(tagre("img", "src", r"(\./[^']+)", quote="'"))
prevSearch = compile(tagre("a", "href", r"(http://corydoncafe\.com/\d+/[^']+)", after="prev", quote="'"))
help = 'Index format: yyyy/stripname'
@classmethod
def namer(cls, imageUrl, pageUrl):
return pageUrl.split('/')[-1].split('.')[0]
class CourtingDisaster(_BasicScraper):
url = 'http://www.courting-disaster.com/'
stripUrl = url + 'archive/%s.html'
@ -167,6 +258,15 @@ class CourtingDisaster(_BasicScraper):
help = 'Index format: yyyymmdd'
class CowboyJedi(_BasicScraper):
url = 'http://www.cowboyjedi.com/'
rurl = escape(url)
stripUrl = url + '%s'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: yyyy/mm/dd/strip-name'
class CrapIDrewOnMyLunchBreak(_BasicScraper):
url = 'http://crap.jinwicked.com/'
stripUrl = url + '%s'
@ -189,51 +289,6 @@ class CtrlAltDelSillies(CtrlAltDel):
stripUrl = url + '%s'
class Curvy(_BasicScraper):
url = 'http://www.c.urvy.org/'
stripUrl = url + '?date=%s'
imageSearch = compile(tagre("img", "src", r'(/c/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/\?date=\d+)') +
tagre("img", "src", "/nav/prev\.png"))
help = 'Index format: yyyymmdd'
starter = bounceStarter(url,
compile(tagre("a", "href", r'(/\?date=\d+)') +
tagre("img", "src", "/nav/next\.png")))
def shouldSkipUrl(self, url):
"""Skip pages without images."""
return url in (
self.stripUrl % '20130402',
)
class CatAndGirl(_BasicScraper):
url = 'http://catandgirl.com/'
stripUrl = url + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(http://catandgirl\.com/archive/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous</a>")
help = 'Index format: n (unpadded)'
class CyanideAndHappiness(_BasicScraper):
url = 'http://www.explosm.net/comics/'
starter = bounceStarter(url, compile(tagre("a", "href", r"(/comics/\d+/)", before="next")))
stripUrl = url + '%s/'
imageSearch = compile(tagre("img", "src", r'(http://(?:www\.)?explosm\.net/db/files/[^"]+)', before="a daily webcomic"))
prevSearch = compile(tagre("a", "href", r'(/comics/\d+/)', before="prev"))
help = 'Index format: n (unpadded)'
def shouldSkipUrl(self, url):
"""Skip pages without images."""
return url in (self.stripUrl % "3082",)
@classmethod
def namer(cls, imageUrl, pageUrl):
imgname = imageUrl.split('/')[-1]
imgnum = pageUrl.split('/')[-2]
return '%s_%s' % (imgnum, imgname)
class CrimsonDark(_BasicScraper):
url = 'http://www.davidcsimon.com/crimsondark/'
stripUrl = url + 'index.php?view=comic&strip_id=%s'
@ -242,98 +297,6 @@ class CrimsonDark(_BasicScraper):
help = 'Index format: n (unpadded)'
class CatsAndCameras(_BasicScraper):
url = 'http://catsncameras.com/cnc/'
rurl = escape(url)
stripUrl = url + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(%scnc/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("div", "class", r'nav-previous') +
tagre("a", "href", r'(%scnc/[^"]+)' % rurl))
help = 'Index format: nnn'
class CowboyJedi(_BasicScraper):
url = 'http://www.cowboyjedi.com/'
rurl = escape(url)
stripUrl = url + '%s'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: yyyy/mm/dd/strip-name'
class CasuallyKayla(_BasicScraper):
url = 'http://casuallykayla.com/'
stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '89'
imageSearch = compile(tagre("img", "src", r'(http://casuallykayla\.com/comics/[^"]+)'))
prevSearch = compile(tagre("div", "class", r'nav-previous') + tagre("a", "href", r'([^"]+)'))
help = 'Index format: nnn'
class Collar6(_BasicScraper):
url = 'http://collar6.com/'
rurl = escape(url)
stripUrl = url + 'archive/%s'
imageSearch = compile(tagre("img", "src", r'(%swp-content/webcomic/collar6/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchive/[^"]+)' % rurl, after="previous"))
help = 'Index format: <name>'
class Chester5000XYV(_BasicScraper):
url = 'http://jessfink.com/Chester5000XYV/'
stripUrl = url + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(http://jessfink\.com/Chester5000XYV/comics/[^"]+)'))
prevSearch = compile(r'<a href="(.+?)"><span class="prev">')
help = 'Index format: nnn'
class Champ2010(_BasicScraper):
baseurl = 'http://jedcollins.com/champ2010/'
rurl = escape(baseurl)
# the latest URL is hard coded since the comic is discontinued
url = baseurl + 'champ-12-30-10.html'
stripUrl = baseurl + '%s.html'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="Previous"))
help = 'Index format: yy-dd-mm'
class Chucklebrain(_BasicScraper):
url = 'http://www.chucklebrain.com/main.php'
starter = indirectStarter(url,
compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") +
tagre("img", "src", r'/images/last\.jpg', quote="'")))
stripUrl = url + '?img=%s'
imageSearch = compile(tagre("img", "src", r'(/images/strip[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") +
tagre("img", "src", r'/images/previous\.jpg', quote="'"))
help = 'Index format: nnn'
class CompanyY(_BasicScraper):
url = 'http://company-y.com/'
rurl = escape(url)
stripUrl = url + '%s/'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("div", "class", r"nav-previous") +
tagre("a", "href", r'(%s[^"]+)' % rurl))
help = 'Index format: yyyy/mm/dd/strip-name'
class CorydonCafe(_BasicScraper):
url = 'http://corydoncafe.com/'
starter = indirectStarter(url,
compile(tagre("a", "href", r'(\./\d+/[^"]+)')))
stripUrl = url + '%s.php'
imageSearch = compile(tagre("img", "src", r"(\./[^']+)", quote="'"))
prevSearch = compile(tagre("a", "href", r"(http://corydoncafe\.com/\d+/[^']+)", after="prev", quote="'"))
help = 'Index format: yyyy/stripname'
@classmethod
def namer(cls, imageUrl, pageUrl):
return pageUrl.split('/')[-1].split('.')[0]
class CraftedFables(_BasicScraper):
url = 'http://www.craftedfables.com/'
stripUrl = 'http://www.caf-fiends.net/craftedfables/?p=%s'
@ -352,3 +315,40 @@ class CucumberQuest(_BasicScraper):
imageSearch = compile(tagre("img", "src", r'(%swp-content/webcomic/cq/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchive/[^"]+/)' % rurl, after="previous"))
help = 'Index format: stripname'
class Curvy(_BasicScraper):
url = 'http://www.c.urvy.org/'
stripUrl = url + '?date=%s'
imageSearch = compile(tagre("img", "src", r'(/c/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/\?date=\d+)') +
tagre("img", "src", "/nav/prev\.png"))
help = 'Index format: yyyymmdd'
starter = bounceStarter(url,
compile(tagre("a", "href", r'(/\?date=\d+)') +
tagre("img", "src", "/nav/next\.png")))
def shouldSkipUrl(self, url):
"""Skip pages without images."""
return url in (
self.stripUrl % '20130402',
)
class CyanideAndHappiness(_BasicScraper):
url = 'http://www.explosm.net/comics/'
starter = bounceStarter(url, compile(tagre("a", "href", r"(/comics/\d+/)", before="next")))
stripUrl = url + '%s/'
imageSearch = compile(tagre("img", "src", r'(http://(?:www\.)?explosm\.net/db/files/[^"]+)', before="a daily webcomic"))
prevSearch = compile(tagre("a", "href", r'(/comics/\d+/)', before="prev"))
help = 'Index format: n (unpadded)'
def shouldSkipUrl(self, url):
"""Skip pages without images."""
return url in (self.stripUrl % "3082",)
@classmethod
def namer(cls, imageUrl, pageUrl):
imgname = imageUrl.split('/')[-1]
imgnum = pageUrl.split('/')[-2]
return '%s_%s' % (imgnum, imgname)

View file

@ -186,14 +186,6 @@ class Precocious(_BasicScraper):
help = 'Index format: yyyy/mm/dd'
class PvPonline(_BasicScraper):
url = 'http://pvponline.com/comic'
stripUrl = url + '%s'
imageSearch = compile(tagre("img", "src", r'(http://s3[^"]+\.amazonaws\.com/pvponlinenew/img/comic/\d+/\d+/pvp[^"]+\.jpg)'))
prevSearch = compile(tagre("a", "href", r'(/comic/[^"]+)', after="Previous"))
help = 'Index format: yyyy/mm/dd/stripname'
class ProperBarn(_BasicScraper):
url = 'http://www.nitrocosm.com/go/gag/'
stripUrl = url + '%s/'
@ -217,3 +209,11 @@ class PunksAndNerdsOld(_BasicScraper):
imageSearch = compile(r' src="(/comics/.+?)"')
prevSearch = compile(r'><strong><a href="(.+?)"[^>]+?><img[^>]+?src="/previouscomic.gif">')
help = 'Index format: yyyymmdd'
class PvPonline(_BasicScraper):
url = 'http://pvponline.com/comic'
stripUrl = url + '%s'
imageSearch = compile(tagre("img", "src", r'(http://s3[^"]+\.amazonaws\.com/pvponlinenew/img/comic/\d+/\d+/pvp[^"]+\.jpg)'))
prevSearch = compile(tagre("a", "href", r'(/comic/[^"]+)', after="Previous"))
help = 'Index format: yyyy/mm/dd/stripname'

View file

@ -313,6 +313,16 @@ class SpaceTrawler(_BasicScraper):
help = 'Index format: yyyy/mm/dd/stripname'
class Spamusement(_BasicScraper):
url = 'http://spamusement.com/'
rurl = escape(url)
stripUrl = url + 'index.php/comics/view/%s'
imageSearch = compile(r'<img src="(%sgfx/\d+\..+?)"' % rurl, IGNORECASE)
prevSearch = compile(r'<a href="(%sindex.php/comics/view/.+?)">' % rurl, IGNORECASE)
help = 'Index format: n (unpadded)'
starter = indirectStarter(url, prevSearch)
class SpareParts(_BasicScraper):
baseUrl = 'http://www.sparepartscomics.com/'
url = baseUrl + 'comics/?date=20080328'
@ -449,16 +459,6 @@ class StarCrossdDestiny(_BasicScraper):
return directory + '-' + filename
class Spamusement(_BasicScraper):
url = 'http://spamusement.com/'
rurl = escape(url)
stripUrl = url + 'index.php/comics/view/%s'
imageSearch = compile(r'<img src="(%sgfx/\d+\..+?)"' % rurl, IGNORECASE)
prevSearch = compile(r'<a href="(%sindex.php/comics/view/.+?)">' % rurl, IGNORECASE)
help = 'Index format: n (unpadded)'
starter = indirectStarter(url, prevSearch)
# XXX disallowed by robots.txt
class _StrangeCandy(_BasicScraper):
url = 'http://www.strangecandy.net/'

View file

@ -80,6 +80,15 @@ class WhiteNinja(_BasicScraper):
help = 'Index format: s (comic name)'
class WhiteNoise(_BasicScraper):
baseurl = 'http://www.wncomic.com/'
url = baseurl + 'archive.php'
stripUrl = baseurl + 'archive_comments.php?strip_id=%s'
imageSearch = compile(r'(istrip_files/strips/.+?)"')
prevSearch = compile(r'</a><a href="(.+?)"><img src="images/top_back.jpg" ')
help = 'Index format: n'
class WhyTheLongFace(_BasicScraper):
baseurl = 'http://www.absurdnotions.org/'
rurl = escape(baseurl)
@ -108,6 +117,14 @@ class Wonderella(_BasicScraper):
help = 'Index format: yyyy/mm/dd/name'
class Wondermark(_BasicScraper):
url = 'http://wondermark.com/'
stripUrl = url + '%s/'
imageSearch = compile(r'<img src="(http://wondermark.com/c/.+?)"')
prevSearch = compile(r'<a href="(.+?)" rel="prev">')
help = 'Index format: nnn'
class WorldOfMrToast(_BasicScraper):
baseurl = 'http://www.theimaginaryworld.com/'
url = baseurl + 'mrTcomicA.html'
@ -201,20 +218,3 @@ class Wulffmorgenthaler(_BasicScraper):
imageSearch = compile(tagre("img", "src", r'(/img/strip/[^/"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)') + "<span>Previous")
help = 'Index format: yyyy/mm/dd'
class WhiteNoise(_BasicScraper):
baseurl = 'http://www.wncomic.com/'
url = baseurl + 'archive.php'
stripUrl = baseurl + 'archive_comments.php?strip_id=%s'
imageSearch = compile(r'(istrip_files/strips/.+?)"')
prevSearch = compile(r'</a><a href="(.+?)"><img src="images/top_back.jpg" ')
help = 'Index format: n'
class Wondermark(_BasicScraper):
url = 'http://wondermark.com/'
stripUrl = url + '%s/'
imageSearch = compile(r'<img src="(http://wondermark.com/c/.+?)"')
prevSearch = compile(r'<a href="(.+?)" rel="prev">')
help = 'Index format: nnn'