Added comics.

This commit is contained in:
Bastian Kleineidam 2012-12-08 21:30:51 +01:00
parent 1229b16b8d
commit 0d9e1b4ef6
12 changed files with 227 additions and 34 deletions

View file

@ -18,6 +18,15 @@ class CaptainSNES(_BasicScraper):
help = 'Index format: yyyy/mm/dd/nnn-stripname'
class CaseyAndAndy(_BasicScraper):
latestUrl = 'http://www.galactanet.com/comic/'
stripUrl = latestUrl + 'view.php?strip=%s'
imageSearch = compile(tagre("img", "src", r'(Strip\d+\.gif)'))
prevSearch = compile(tagre("a", "href", r'(view\.php\?strip=\d+)')
+ tagre("img", "src", r'previous\.gif'))
help = 'Index format: number'
class CaribbeanBlue(_BasicScraper):
latestUrl = 'http://cblue.katbox.net/'
stripUrl = latestUrl + 'archive/%s'

View file

@ -19,6 +19,15 @@ class DailyDose(_BasicScraper):
help = 'Index format: stripname'
class Damonk(_BasicScraper):
latestUrl = 'http://www.damonk.com/'
stripUrl = latestUrl + 'd/%s.html'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') +
tagre("img", "src", r'/images/previous_day\.gif'))
help = 'Index format: yyyymmdd'
class DandyAndCompany(_BasicScraper):
latestUrl = 'http://www.dandyandcompany.com/'
stripUrl = None
@ -125,12 +134,11 @@ class DieselSweeties(_BasicScraper):
return 'sw%02d' % (index,)
class DominicDeegan(_BasicScraper):
latestUrl = 'http://www.dominic-deegan.com/'
stripUrl = latestUrl + 'view.php?date=%s'
imageSearch = compile(tagre("img", "src", r'(comics/\d+\.gif)'))
prevSearch = compile(r'"(view.php\?date=.+?)".+?prev21')
prevSearch = compile(r'"(view.php\?date=[^"]+)".+?prev21')
help = 'Index format: yyyy-mm-dd'

View file

@ -9,6 +9,14 @@ from ..scraper import _BasicScraper
from ..util import tagre
class EdibleDirt(_BasicScraper):
latestUrl = 'http://eddirt.frozenreality.co.uk/'
stripUrl = latestUrl + 'index.php?id=%s'
imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r"(index\.php\?id=\d+)")+"Previous")
help = 'Index format: number'
class EerieCuties(_BasicScraper):
latestUrl = 'http://www.eeriecuties.com/'
stripUrl = latestUrl + 'strips-ec/%s'
@ -25,6 +33,15 @@ class Eriadan(_BasicScraper):
help = 'Index format: yyyy/mm/dd/nnn (unpadded)'
class ElfOnlyInn(_BasicScraper):
latestUrl = 'http://www.elfonlyinn.net/'
stripUrl = latestUrl + 'd/%s.html'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') +
tagre("img", "src", r'/images/previous_day\.gif'))
help = 'Index format: yyyymmdd'
class ElGoonishShive(_BasicScraper):
name = 'KeenSpot/ElGoonishShive'
latestUrl = 'http://www.egscomics.com/'

View file

@ -50,6 +50,15 @@ class FlakyPastry(_BasicScraper):
help = 'Index format: nnnn'
class Flemcomics(_BasicScraper):
latestUrl = 'http://www.flemcomics.com/'
stripUrl = latestUrl + 'd/%s.html'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') +
tagre("img", "src", r'/images/previous_day\.jpg'))
help = 'Index format: yyyymmdd'
class Flipside(_BasicScraper):
latestUrl = 'http://flipside.keenspot.com/comic.php'
stripUrl = latestUrl + '?i=%s'

View file

@ -7,6 +7,14 @@ from ..scraper import _BasicScraper
from ..util import tagre
class JackCannon(_BasicScraper):
latestUrl = 'http://fancyadventures.com/'
stripUrl = latestUrl + '%s/'
imageSearch = compile(tagre("img", "src", r'(http://fancyadventures\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://fancyadventures\.com/[^"]+)', after="prev"))
help = 'Index format: yyyy/mm/dd/page-nnn'
class JerkCity(_BasicScraper):
latestUrl = 'http://www.jerkcity.com/'
stripUrl = latestUrl + '_jerkcity%s.html'
@ -21,3 +29,12 @@ class JoeAndMonkey(_BasicScraper):
imageSearch = compile(r'"(/comic/[^"]+)"')
prevSearch = compile(r"<a href='(/\d+)'>Previous")
help = 'Index format: nnn'
class JustAnotherEscape(_BasicScraper):
latestUrl = 'http://www.justanotherescape.com/'
stripUrl = latestUrl + 'index.cgi?date=%s'
imageSearch = compile(tagre("img", "src", r'(http://www\.justanotherescape\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.justanotherescape\.com//index\.cgi\?date=\d+)')
+ tagre("img", "alt", "Previous Comic"))
help = 'Index format: yyyymmdd'

View file

@ -41,9 +41,27 @@ class KevinAndKell(_BasicScraper):
self.currentUrl = self.stripUrl % tuple(map(int, index.split('-')))
class KhaosKomix(_BasicScraper):
adult = True
latestUrl = 'http://www.khaoskomix.com/'
stripUrl = latestUrl + 'komix/%s'
imageSearch = compile(tagre("img", "src", r'(http://www\.khaoskomix\.com/komiximg/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.khaoskomix\.com/komix/[^"]+)', after="Prev"))
help = 'Index format: stripname'
class KillerKomics(_BasicScraper):
latestUrl = 'http://www.killerkomics.com/web-comics/index_ang.cfm'
stripUrl = 'http://www.killerkomics.com/web-comics/%s.cfm'
imageSearch = compile(r'<img src="(http://www.killerkomics.com/FichiersUpload/Comics/.+?)"')
prevSearch = compile(r'<div id="precedent"><a href="(.+?)"')
help = 'Index format: strip-name'
class Kofightclub(_BasicScraper):
latestUrl = 'http://www.kofightclub.com/'
stripUrl = latestUrl + 'd/%s.html'
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'

View file

@ -48,6 +48,14 @@ class MegaTokyo(_BasicScraper):
help = 'Index format: nnnn'
class Meiosis(_BasicScraper):
latestUrl = 'http://meiosiswebcomic.com/'
stripUrl = latestUrl + '%s/'
imageSearch = compile(tagre("img", "src", r'(http://meiosiswebcomic\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://meiosiswebcomic\.com/[^"]+)', after="navi-prev"))
help = 'Index format: yyyy/mm/ddmmyyyy'
class MacHall(_BasicScraper):
latestUrl = 'http://www.machall.com/'
stripUrl = latestUrl + 'view.php?date=%s'
@ -64,6 +72,14 @@ class Melonpool(_BasicScraper):
help = 'Index format: n'
class MintCondition(_BasicScraper):
latestUrl = 'http://www.mintconditioncomic.com/'
stripUrl = latestUrl + '%s/'
imageSearch = compile(tagre("img", "src", r'(http://www\.mintconditioncomic\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.mintconditioncomic\.com/[^"]+)', after="prev"))
help = 'Index format: yyyy/mm/dd/stripname'
class Misfile(_BasicScraper):
latestUrl = 'http://www.misfile.com/'
stripUrl = latestUrl + '?date=%s'

View file

@ -2,7 +2,7 @@
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
# Copyright (C) 2012 Bastian Kleineidam
from re import compile, IGNORECASE
from re import compile
from ..scraper import _BasicScraper
from ..helpers import bounceStarter, queryNamer, indirectStarter
from ..util import tagre
@ -66,6 +66,14 @@ class PeppermintSaga(_BasicScraper):
help = 'Index format: number'
class PicPakDog(_BasicScraper):
latestUrl = 'http://www.picpak.net/'
stripUrl = latestUrl + 'comics/%s/'
imageSearch = compile(tagre("img", "src", r'(http://www\.picpak\.net/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.picpak\.net/comics/[^"]+)', after="navi-prev"))
help = 'Index format: yyyy/mm/dd/stripname'
class Pixel(_BasicScraper):
latestUrl = 'http://pixelcomic.net/'
stripUrl = latestUrl + '%s.php'
@ -74,7 +82,6 @@ class Pixel(_BasicScraper):
help = 'Index format: nnn'
class PiledHigherAndDeeper(_BasicScraper):
starter = bounceStarter('http://www.phdcomics.com/comics/archive.php', compile(r'<a href=(archive\.php\?comicid=\d+)><img height=52 width=49 src=images/next_button\.gif border=0 align=middle>'))
stripUrl = 'http://www.phdcomics.com/comics/archive.php?comicid=%s'
@ -84,6 +91,14 @@ class PiledHigherAndDeeper(_BasicScraper):
namer = queryNamer('comicid', usePageUrl=True)
class Pimpette(_BasicScraper):
latestUrl = 'http://pimpette.ca/'
stripUrl = latestUrl + 'index.php?date=%s'
imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)') + "Previous")
help = 'Index format: yyyymmdd'
class Precocious(_BasicScraper):
baseUrl = 'http://www.precociouscomic.com/'
starter = indirectStarter(baseUrl,
@ -103,32 +118,6 @@ class PvPonline(_BasicScraper):
help = 'Index format: yyyy/mm/dd/stripname'
def pensAndTales(name, baseUrl):
return type('PensAndTales_%s' % name,
(_BasicScraper,),
dict(
name='PensAndTales/' + name,
latestUrl=baseUrl,
stripUrl=baseUrl + '?date=%s',
imageSearch=compile(r'<img[^>]+?src="([^"]*?comics/.+?)"', IGNORECASE),
prevSearch=compile(r'<a href="([^"]*?\?date=\d+)">(:?<img[^>]+?alt=")?Previous Comic', IGNORECASE),
help='Index format: yyyymmdd')
)
# XXX: using custom Wordpress layout
# th = pensAndTales('TreasureHunters', 'http://th.pensandtales.com/')
# XXX: comic broken, no content
# strangekith = pensAndTales('Strangekith', 'http://strangekith.pensandtales.com/')
# XXX: comic broken
# fireflycross = pensAndTales('FireflyCross', 'http://fireflycross.pensandtales.com/')
evilish = pensAndTales('Evilish', 'http://evilish.pensandtales.com/')
# XXX: moved / layout changed
#ynt = pensAndTales('YamiNoTainai', 'http://ynt.pensandtales.com/')
class ProperBarn(_BasicScraper):
latestUrl = 'http://www.nitrocosm.com/go/gag/'
stripUrl = latestUrl + '%s/'
@ -137,7 +126,6 @@ class ProperBarn(_BasicScraper):
help = 'Index format: nnn'
class PunksAndNerds(_BasicScraper):
latestUrl = 'http://www.punksandnerds.com/'
stripUrl = latestUrl + '?p=%s'
@ -146,7 +134,6 @@ class PunksAndNerds(_BasicScraper):
help = 'Index format: nnn'
class PunksAndNerdsOld(_BasicScraper):
latestUrl = 'http://original.punksandnerds.com/'
stripUrl = latestUrl + 'd/%s.html'
@ -155,7 +142,6 @@ class PunksAndNerdsOld(_BasicScraper):
help = 'Index format: yyyymmdd'
class PlanescapeSurvival(_BasicScraper):
latestUrl = 'http://planescapecomic.com/'
stripUrl = latestUrl + '%s.html'

View file

@ -0,0 +1,30 @@
# -*- coding: iso-8859-1 -*-
# Copyright (C) 2004-2005 Tristan Seligmann and Jonathan Jacobs
# Copyright (C) 2012 Bastian Kleineidam
from re import compile
from ..scraper import make_scraper
from ..util import tagre
_imageSearch = compile(tagre("img", "src", r'([^"]*comics/[^"]+)'))
def add(name, baseUrl, param="date"):
classname = 'PensAndTales_%s' % name
_prevSearch = compile(tagre("a", "href", r'([^"]*\?%s=\d+)' % param) +
'(?:' + tagre("img", "alt", r'Previous Comic') + '|' +
'[^<]+Previous' + ')')
globals()[classname] = make_scraper(classname,
name='PensAndTales/' + name,
latestUrl = baseUrl,
stripUrl = baseUrl + '?' + param + '=%s',
imageSearch = _imageSearch,
prevSearch = _prevSearch,
help='Index format: yyyymmdd'
)
# Most of the comics linked an pensandtales are broken and
# the rest does not have a common layout. It seems they allow
# almost arbitrary HTML layout.
add('FireflyCross', 'http://www.fireflycross.pensandtales.com/', param="p")
add('Evilish', 'http://evilish.pensandtales.com/')

View file

@ -66,6 +66,14 @@ class Sheldon(_BasicScraper):
help = 'Index format: yymmdd'
class Shivae(_BasicScraper):
latestUrl = 'http://shivae.net/'
stripUrl = latestUrl + 'blog/%s/'
imageSearch = compile(tagre("img", "src", r'(http://shivae\.net/files/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://shivae\.net/blog/[^"]+)', after="Previous"))
help = 'Index format: yyyy/mm/dd/stripname'
class Shortpacked(_BasicScraper):
latestUrl = 'http://www.shortpacked.com/'
stripUrl = latestUrl + '%s/'
@ -99,7 +107,6 @@ class SluggyFreelance(_BasicScraper):
help = 'Index format: yymmdd'
class SodiumEyes(_BasicScraper):
latestUrl = 'http://sodiumeyes.com/'
stripUrl = latestUrl + '%s/'
@ -108,6 +115,15 @@ class SodiumEyes(_BasicScraper):
help = 'Index format: yyyy/mm/dd/stripname'
class Sorcery101(_BasicScraper):
baseUrl = 'http://www.sorcery101.net/'
latestUrl = baseUrl + 'sorcery-101/'
stripUrl = baseUrl + 'sorcery101/%s/'
imageSearch = compile(tagre("img", "src", r'(http://www\.sorcery101\.net/comics/sorcery101/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.sorcery101\.net/sorcery101/[^"]+)', after="previous-comic-link"))
help = 'Index format: stripname'
class SpareParts(_BasicScraper):
baseUrl = 'http://www.sparepartscomics.com/'
latestUrl = baseUrl + 'comics/?date=20080328'
@ -117,6 +133,23 @@ class SpareParts(_BasicScraper):
help = 'Index format: yyyymmdd'
class SPQRBlues(_BasicScraper):
latestUrl = 'http://spqrblues.com/IV/'
stripUrl = latestUrl + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(http://spqrblues\.com/IV/comics/\d+\.png)'))
prevSearch = compile(tagre("a", "href", r'(http://spqrblues\.com/IV/\?p=\d+)', after="prev"))
help = 'Index format: number'
class StationV3(_BasicScraper):
latestUrl = 'http://www.stationv3.com/'
stripUrl = latestUrl + 'd/%s.html'
imageSearch = compile(tagre("img", "src", r'(http://www\.stationv3\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.stationv3\.com/d/\d+\.html)') +
tagre("img", "src", r'http://www\.stationv3\.com/images/previous\.gif'))
help = 'Index format: yyyymmdd'
class Stubble(_BasicScraper):
latestUrl = 'http://stubblecomics.com/'
stripUrl = latestUrl + '?p=%s'

View file

@ -8,6 +8,14 @@ from ..helpers import indirectStarter
from ..util import tagre
class TheDevilsPanties(_BasicScraper):
latestUrl = 'http://thedevilspanties.com/'
stripUrl = latestUrl + 'archives/%s'
imageSearch = compile(tagre("img", "src", r'(http://cdn\.thedevilspanties\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/archives/\d+)', after="Previous"))
help = 'Index format: number'
class TheNoob(_BasicScraper):
latestUrl = 'http://www.thenoobcomic.com/index.php'
stripUrl = latestUrl + '?pos=%s'
@ -46,6 +54,15 @@ class TheWotch(_BasicScraper):
help = 'Index format: yyyy-mm-dd'
class ThunderAndLightning(_BasicScraper):
baseUrl = 'http://www.talcomic.com/wp/'
latestUrl = baseUrl + '?latestcomic'
stripUrl = baseUrl + '%s/'
prevSearch = compile(tagre("a", "href", r'(http://www\.talcomic\.com/wp/[^"]+)', after="prev"))
imageSearch = compile(tagre("img", "src", r'(http://www\.talcomic\.com/wp/comics/[^"]+)'))
help = 'Index format: yyyy/mm/dd/page-nn'
class TinyKittenTeeth(_BasicScraper):
latestUrl = 'http://www.tinykittenteeth.com/'
stripUrl = latestUrl + '%s/'
@ -54,6 +71,14 @@ class TinyKittenTeeth(_BasicScraper):
help = 'Index format: yyyy/mm/dd/stripname (unpadded)'
class TwoLumps(_BasicScraper):
latestUrl = 'http://www.twolumps.net/'
stripUrl = latestUrl + 'd/%s.html'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)', after="prev"))
help = 'Index format: yyyymmdd'
class TwoTwoOneFour(_BasicScraper):
latestUrl = 'http://www.nitrocosm.com/go/2214_classic/'
stripUrl = latestUrl + '%s/'
@ -87,3 +112,11 @@ class TheOuterQuarter(_BasicScraper):
imageSearch = compile(r'<img src="(http://theouterquarter.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="([^"]+)" rel="prev">')
help = 'Index format: nnn'
class TracyAndTristan(_BasicScraper):
latestUrl = 'http://tandt.thecomicseries.com/'
stripUrl = latestUrl + 'comics/%s'
imageSearch = compile(tagre("img", "src", r'(http://tandt\.thecomicseries\.com/images/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/comics/\d+)', after="prev"))
help = 'Index format: number'

View file

@ -8,6 +8,15 @@ from ..scraper import _BasicScraper
from ..util import tagre
class Vendetta(_BasicScraper):
latestUrl = 'http://www.vendettacomic.com/'
stripUrl = latestUrl + 'archive.php?date=%s.jpg'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(archive\.php\?date=\d+\.jpg)') +
tagre("img", "src", r"/images/prev\.jpg"))
help = 'Index format: yyyymmdd'
class VGCats(_BasicScraper):
latestUrl = 'http://www.vgcats.com/comics/'
stripUrl = latestUrl + '?strip_id=%s'
@ -29,6 +38,14 @@ class VGCatsAdventure(VGCats):
stripUrl = latestUrl + '?strip_id=%s'
class VictimsOfTheSystem(_BasicScraper):
latestUrl = 'http://www.votscomic.com/'
stripUrl = latestUrl + '?id=%s.jpg'
imageSearch = compile(tagre("img", "src", r'(comicpro/strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?id=\d+-\d+\.jpg)') + "Previous")
help = 'Index format: nnn-nnn'
class ViiviJaWagner(_BasicScraper):
latestUrl = 'http://www.hs.fi/viivijawagner/'
stripUrl = None