Add firstStripUrls.

This commit is contained in:
Bastian Kleineidam 2013-04-10 23:57:09 +02:00
parent f7c3d39fcf
commit 7e593cf7e8
26 changed files with 291 additions and 92 deletions

View file

@ -74,9 +74,12 @@ class AetheriaEpics(_BasicScraper):
class AfterStrife(_BasicScraper): class AfterStrife(_BasicScraper):
url = 'http://afterstrife.com/?p=262' baseurl = 'http://afterstrife.com/'
stripUrl = 'http://afterstrife.com/?p=%s' rurl = escape(baseurl)
imageSearch = compile(r'<img src="(http://afterstrife.com/strips/.+?)"') stripUrl = baseurl + '?p=%s'
url = stripUrl % '262'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'<img src="(%sstrips/.+?)"' % rurl)
prevSearch = compile(r'<a href="(.+?)" class="navi navi-prev"') prevSearch = compile(r'<a href="(.+?)" class="navi navi-prev"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -145,18 +148,21 @@ class AlienLovesPredator(_BasicScraper):
class AlienShores(_BasicScraper): class AlienShores(_BasicScraper):
url = 'http://alienshores.com/alienshores_band/' baseurl = 'http://alienshores.com/'
rurl = escape(baseurl)
url = baseurl + 'alienshores_band/'
stripUrl = url + '%s' stripUrl = url + '%s'
imageSearch = compile(tagre("img", "src", r'(http://alienshores\.com/alienshores_band/wp-content/uploads/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(%salienshores_band/wp-content/uploads/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(http://alienshores\.com/[^"]+)', after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/p<nn>/' help = 'Index format: yyyy/mm/dd/p<nn>/'
class ALLCAPS(_BasicScraper): class ALLCAPS(_BasicScraper):
url = 'http://www.allcapscomix.com/' url = 'http://www.allcapscomix.com/'
rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2008/08/welcome-to-all-caps' firstStripUrl = stripUrl % '2008/08/welcome-to-all-caps'
imageSearch = compile(tagre("img", "src", r'(http://www\.allcapscomix\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous</a>") prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous</a>")
help = 'Index format: yyyy/mm/strip-name' help = 'Index format: yyyy/mm/strip-name'
@ -199,16 +205,17 @@ class AlsoBagels(_BasicScraper):
class Altermeta(_BasicScraper): class Altermeta(_BasicScraper):
url = 'http://altermeta.net/' url = 'http://altermeta.net/'
rurl = escape(url)
stripUrl = url + 'archive.php?comic=%s' stripUrl = url + 'archive.php?comic=%s'
firstStripUrl = stripUrl % '0' firstStripUrl = stripUrl % '0'
imageSearch = compile(r'<img src="(comics/[^"]+)" />') imageSearch = compile(r'<img src="(comics/[^"]+)" />')
prevSearch = compile(r'<a href="([^"]+)"><img src="http://altermeta\.net/template/default/images/sasha/back\.png') prevSearch = compile(r'<a href="([^"]+)"><img src="%stemplate/default/images/sasha/back\.png' % rurl)
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
class AltermetaOld(Altermeta): class AltermetaOld(Altermeta):
url = 'http://altermeta.net/oldarchive/index.php' url = Altermeta.url + 'oldarchive/index.php'
stripUrl = 'http://altermeta.net/oldarchive/archive.php?comic=%s' stripUrl = Altermeta.url + 'oldarchive/archive.php?comic=%s'
firstStripUrl = stripUrl % '0' firstStripUrl = stripUrl % '0'
prevSearch = compile(r'<a href="([^"]+)">Back') prevSearch = compile(r'<a href="([^"]+)">Back')
@ -227,6 +234,7 @@ class Amya(_BasicScraper):
url = 'http://www.amyachronicles.com/' url = 'http://www.amyachronicles.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'archives/%s' stripUrl = url + 'archives/%s'
firstStripUrl = stripUrl % '117'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchives/\d+)' % rurl, after="Previous")) prevSearch = compile(tagre("a", "href", r'(%sarchives/\d+)' % rurl, after="Previous"))
help = 'Index format: n' help = 'Index format: n'
@ -250,10 +258,12 @@ class Angels2200(_BasicScraper):
class Annyseed(_BasicScraper): class Annyseed(_BasicScraper):
url = 'http://www.colourofivy.com/annyseed_webcomic_latest.htm' baseurl = 'http://www.colourofivy.com/'
stripUrl = 'http://www.colourofivy.com/annyseed_webcomic%s.htm' rurl = escape(baseurl)
url = baseurl + 'annyseed_webcomic_latest.htm'
stripUrl = baseurl + 'annyseed_webcomic%s.htm'
imageSearch = compile(tagre("img", "src", r'(Annyseed[^"]+)')) imageSearch = compile(tagre("img", "src", r'(Annyseed[^"]+)'))
prevSearch = compile(r'<a href="(http://www\.colourofivy\.com/[^"]+)"><img src="Last.gif"') prevSearch = compile(r'<a href="(%s[^"]+)"><img src="Last.gif"' % rurl)
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -155,6 +155,7 @@ class BloodBound(_BasicScraper):
class BlueCrashKit(_BasicScraper): class BlueCrashKit(_BasicScraper):
url = 'http://robhamm.com/bluecrashkit/' url = 'http://robhamm.com/bluecrashkit/'
stripUrl = url + 'comics/blue-crash-kit/%s' stripUrl = url + 'comics/blue-crash-kit/%s'
firstStripUrl = stripUrl % '2005-01-03'
imageSearch = compile(tagre("img", "src", r'(http://robhamm\.com/bluecrashkit/sites/default/files/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://robhamm\.com/bluecrashkit/sites/default/files/comics/[^"]+)'))
prevSearch = compile(r'<li class="previous"><a href="([^"]+)">') prevSearch = compile(r'<li class="previous"><a href="([^"]+)">')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -181,10 +182,11 @@ class BobWhite(_BasicScraper):
class BookOfBiff(_BasicScraper): class BookOfBiff(_BasicScraper):
url = 'http://www.thebookofbiff.com/' url = 'http://www.thebookofbiff.com/'
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2006/01/02/4'
imageSearch = compile(tagre("img", "src", r'([^"]+/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'([^"]+/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after="Previous")) prevSearch = compile(tagre("a", "href", r'([^"]+)', after="Previous"))
help = 'Index format: yyyy/mm/dd/stripnum-strip-name' help = 'Index format: yyyy/mm/dd/stripnum-stripname'
class BoredAndEvil(_BasicScraper): class BoredAndEvil(_BasicScraper):
@ -287,6 +289,7 @@ class Brink(_BasicScraper):
url = 'http://paperfangs.com/brink/' url = 'http://paperfangs.com/brink/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '5'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: number' help = 'Index format: number'

View file

@ -23,6 +23,7 @@ class CaptainSNES(_BasicScraper):
url = 'http://www.captainsnes.com/' url = 'http://www.captainsnes.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2001/07/10/the-mistake'
imageSearch = compile(tagre("img", "src", r"(%scomics/[^']+)" % rurl, quote="'")) imageSearch = compile(tagre("img", "src", r"(%scomics/[^']+)" % rurl, quote="'"))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl) + tagre("span", "class", "prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl) + tagre("span", "class", "prev"))
multipleImagesPerStrip = True multipleImagesPerStrip = True
@ -61,16 +62,20 @@ class Catalyst(_BasicScraper):
class CatAndGirl(_BasicScraper): class CatAndGirl(_BasicScraper):
url = 'http://catandgirl.com/' url = 'http://catandgirl.com/'
rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(http://catandgirl\.com/archive/[^"]+)')) firstStripUrl = stripUrl % '1602'
imageSearch = compile(tagre("img", "src", r'(%sarchive/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous</a>") prevSearch = compile(tagre("a", "href", r'([^"]+)')+r"[^<]+Previous</a>")
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
class Catena(_BasicScraper): class Catena(_BasicScraper):
url = 'http://catenamanor.com/' url = 'http://catenamanor.com/'
stripUrl = url + '%s' rurl = escape(url)
imageSearch = compile(tagre("img", "src", r'(http://catenamanor\.com/comics/[^"]+)')) stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2003/06/17/the-start-of-it-all'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after='rel="prev"')) prevSearch = compile(tagre("a", "href", r'([^"]+)', after='rel="prev"'))
help = 'Index format: yyyy/mm/dd/<name>' help = 'Index format: yyyy/mm/dd/<name>'
@ -89,6 +94,7 @@ class ChainsawSuit(_BasicScraper):
url = 'http://chainsawsuit.com/' url = 'http://chainsawsuit.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2008/03/12/strip-338'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -100,6 +106,7 @@ class Champ2010(_BasicScraper):
# the latest URL is hard coded since the comic is discontinued # the latest URL is hard coded since the comic is discontinued
url = baseurl + 'champ-12-30-10.html' url = baseurl + 'champ-12-30-10.html'
stripUrl = baseurl + '%s.html' stripUrl = baseurl + '%s.html'
firstStripUrl = stripUrl % 'champ1-1-10-fuck'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="Previous")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="Previous"))
help = 'Index format: yy-dd-mm' help = 'Index format: yy-dd-mm'
@ -117,6 +124,7 @@ class ChannelAte(_BasicScraper):
class ChasingTheSunset(_BasicScraper): class ChasingTheSunset(_BasicScraper):
url = 'http://www.fantasycomic.com/' url = 'http://www.fantasycomic.com/'
stripUrl = url + 'index.php?p=c%s' stripUrl = url + 'index.php?p=c%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'(/cmsimg/.+?)".+?comic-img') imageSearch = compile(r'(/cmsimg/.+?)".+?comic-img')
prevSearch = compile(r'<a href="(.+?)" title="" ><img src="(images/eye-prev.png|images/cn-prev.png)"') prevSearch = compile(r'<a href="(.+?)" title="" ><img src="(images/eye-prev.png|images/cn-prev.png)"')
help = 'Index format: n' help = 'Index format: n'
@ -125,6 +133,7 @@ class ChasingTheSunset(_BasicScraper):
class CheckerboardNightmare(_BasicScraper): class CheckerboardNightmare(_BasicScraper):
url = 'http://www.checkerboardnightmare.com/' url = 'http://www.checkerboardnightmare.com/'
stripUrl = url + 'd/%s.shtml' stripUrl = url + 'd/%s.shtml'
firstStripUrl = stripUrl % '20001110'
imageSearch=compile(tagre("img", "src", r'(/comic[s|/][^"]+)')) imageSearch=compile(tagre("img", "src", r'(/comic[s|/][^"]+)'))
prevSearch=compile(tagre("a", "href", r'[^"]*(/d/\d+\.s?html)')+r"[^>]+/images/(?:nav_02|previous_day)\.gif") prevSearch=compile(tagre("a", "href", r'[^"]*(/d/\d+\.s?html)')+r"[^>]+/images/(?:nav_02|previous_day)\.gif")
help='Index format: yyyymmdd' help='Index format: yyyymmdd'
@ -133,6 +142,7 @@ class CheckerboardNightmare(_BasicScraper):
class Chester5000XYV(_BasicScraper): class Chester5000XYV(_BasicScraper):
url = 'http://jessfink.com/Chester5000XYV/' url = 'http://jessfink.com/Chester5000XYV/'
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '34'
imageSearch = compile(tagre("img", "src", r'(http://jessfink\.com/Chester5000XYV/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://jessfink\.com/Chester5000XYV/comics/[^"]+)'))
prevSearch = compile(r'<a href="(.+?)"><span class="prev">') prevSearch = compile(r'<a href="(.+?)"><span class="prev">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -140,7 +150,8 @@ class Chester5000XYV(_BasicScraper):
class Chisuji(_BasicScraper): class Chisuji(_BasicScraper):
url = 'http://www.chisuji.com/' url = 'http://www.chisuji.com/'
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2009/05/02/chisujiposter01'
imageSearch = compile(r'<img src="(http://www.chisuji.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.chisuji.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://www.chisuji.com/.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(http://www.chisuji.com/.+?)">')
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'
@ -152,6 +163,7 @@ class Chucklebrain(_BasicScraper):
compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") + compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") +
tagre("img", "src", r'/images/last\.jpg', quote="'"))) tagre("img", "src", r'/images/last\.jpg', quote="'")))
stripUrl = url + '?img=%s' stripUrl = url + '?img=%s'
firstStripUrl = stripUrl % '19'
imageSearch = compile(tagre("img", "src", r'(/images/strip[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/images/strip[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") + prevSearch = compile(tagre("a", "href", r'(/main\.php\?img\=\d+)', quote="'") +
tagre("img", "src", r'/images/previous\.jpg', quote="'")) tagre("img", "src", r'/images/previous\.jpg', quote="'"))
@ -161,6 +173,7 @@ class Chucklebrain(_BasicScraper):
class ChugworthAcademy(_BasicScraper): class ChugworthAcademy(_BasicScraper):
url = 'http://chugworth.com/' url = 'http://chugworth.com/'
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '12'
imageSearch = compile(r'<img src="(.+?)" alt="Comic') imageSearch = compile(r'<img src="(.+?)" alt="Comic')
prevSearch = compile(r'<a href="(http://chugworth.com/\?p=\d{1,4})"[^>]+?title="Previous">') prevSearch = compile(r'<a href="(http://chugworth.com/\?p=\d{1,4})"[^>]+?title="Previous">')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -169,6 +182,7 @@ class ChugworthAcademy(_BasicScraper):
class ChugworthAcademyArchive(_BasicScraper): class ChugworthAcademyArchive(_BasicScraper):
url = 'http://chugworth.com/archive/?strip_id=422' url = 'http://chugworth.com/archive/?strip_id=422'
stripUrl = 'http://chugworth.com/archive/?strip_id=%s' stripUrl = 'http://chugworth.com/archive/?strip_id=%s'
firstStripUrl = stripUrl % '0'
imageSearch = compile(r'<img src=(comics/\d+.+?.\w{1,4})') imageSearch = compile(r'<img src=(comics/\d+.+?.\w{1,4})')
prevSearch = compile(r'<a href=\'(.+?)\'><img src=\'images/previous.gif') prevSearch = compile(r'<a href=\'(.+?)\'><img src=\'images/previous.gif')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -186,24 +200,16 @@ class Collar6(_BasicScraper):
url = 'http://collar6.com/' url = 'http://collar6.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'archive/%s' stripUrl = url + 'archive/%s'
firstStripUrl = stripUrl % 'collar-6-187'
imageSearch = compile(tagre("img", "src", r'(%swp-content/webcomic/collar6/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%swp-content/webcomic/collar6/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchive/[^"]+)' % rurl, after="previous")) prevSearch = compile(tagre("a", "href", r'(%sarchive/[^"]+)' % rurl, after="previous"))
help = 'Index format: <name>' 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): class Comedity(_BasicScraper):
url = 'http://www.comedity.com/' url = 'http://www.comedity.com/'
stripUrl = url + 'index.php?strip_id=%s' stripUrl = url + 'index.php?strip_id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'<img src="(Comedity_files/.+?)"') imageSearch = compile(r'<img src="(Comedity_files/.+?)"')
prevSearch = compile(r'<a href="(/?index.php\?strip_id=\d+?)"> *<img alt=\"Prior Strip') prevSearch = compile(r'<a href="(/?index.php\?strip_id=\d+?)"> *<img alt=\"Prior Strip')
help = 'Index format: n (no padding)' help = 'Index format: n (no padding)'
@ -213,15 +219,28 @@ class Commissioned(_BasicScraper):
url = 'http://www.commissionedcomic.com/' url = 'http://www.commissionedcomic.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '139'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev"))
help = 'Index format: n' help = 'Index format: n'
class CompanyY(_BasicScraper):
url = 'http://company-y.com/'
rurl = escape(url)
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2009/08/14/coming-soon'
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 Concession(_BasicScraper): class Concession(_BasicScraper):
url = 'http://concessioncomic.com/' url = 'http://concessioncomic.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'index.php?pid=%s' stripUrl = url + 'index.php?pid=%s'
firstStripUrl = stripUrl % '20060701'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl, after="Comic")) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl, after="Comic"))
prevSearch = compile(tagre("a", "href", r'(%sindex\.php\?pid=\d+)' % rurl, after="nav-prev")) prevSearch = compile(tagre("a", "href", r'(%sindex\.php\?pid=\d+)' % rurl, after="nav-prev"))
help = 'Index format: number' help = 'Index format: number'
@ -230,10 +249,11 @@ class Concession(_BasicScraper):
class CoolCatStudio(_BasicScraper): class CoolCatStudio(_BasicScraper):
url = 'http://www.coolcatstudio.com/' url = 'http://www.coolcatstudio.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'strips-cat/ccs%s' stripUrl = url + 'strips-cat/%s'
firstStripUrl = stripUrl % 'first'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sstrips-cat/[^"]+)' % rurl, before="prev")) prevSearch = compile(tagre("a", "href", r'(%sstrips-cat/[^"]+)' % rurl, before="prev"))
help = 'Index format: yyyymmdd' help = 'Index format: ccsyyyymmdd'
class CorydonCafe(_BasicScraper): class CorydonCafe(_BasicScraper):
@ -253,6 +273,7 @@ class CorydonCafe(_BasicScraper):
class CourtingDisaster(_BasicScraper): class CourtingDisaster(_BasicScraper):
url = 'http://www.courting-disaster.com/' url = 'http://www.courting-disaster.com/'
stripUrl = url + 'archive/%s.html' stripUrl = url + 'archive/%s.html'
firstStripUrl = stripUrl % '20050112'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/archive/\d+\.html)') + tagre("img", "src", r'/images/previous\.gif')) prevSearch = compile(tagre("a", "href", r'(/archive/\d+\.html)') + tagre("img", "src", r'/images/previous\.gif'))
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -261,7 +282,8 @@ class CourtingDisaster(_BasicScraper):
class CowboyJedi(_BasicScraper): class CowboyJedi(_BasicScraper):
url = 'http://www.cowboyjedi.com/' url = 'http://www.cowboyjedi.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2009/08/10/a-new-webcomic'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'
@ -269,7 +291,8 @@ class CowboyJedi(_BasicScraper):
class CrapIDrewOnMyLunchBreak(_BasicScraper): class CrapIDrewOnMyLunchBreak(_BasicScraper):
url = 'http://crap.jinwicked.com/' url = 'http://crap.jinwicked.com/'
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2003/07/30/jin-and-josh-decide-to-move'
imageSearch = compile(tagre("img", "src", r'(http://crap\.jinwicked\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://crap\.jinwicked\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after="prev")) prevSearch = compile(tagre("a", "href", r'([^"]+)', after="prev"))
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -292,6 +315,7 @@ class CtrlAltDelSillies(CtrlAltDel):
class CrimsonDark(_BasicScraper): class CrimsonDark(_BasicScraper):
url = 'http://www.davidcsimon.com/crimsondark/' url = 'http://www.davidcsimon.com/crimsondark/'
stripUrl = url + 'index.php?view=comic&strip_id=%s' stripUrl = url + 'index.php?view=comic&strip_id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'src="(.+?strips/.+?)"') imageSearch = compile(r'src="(.+?strips/.+?)"')
prevSearch = compile(r'<a href=[\'"](/crimsondark/index\.php\?view=comic&amp;strip_id=\d+)[\'"]><img src=[\'"]themes/cdtheme/images/active_prev.png[\'"]') prevSearch = compile(r'<a href=[\'"](/crimsondark/index\.php\?view=comic&amp;strip_id=\d+)[\'"]><img src=[\'"]themes/cdtheme/images/active_prev.png[\'"]')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -299,9 +323,12 @@ class CrimsonDark(_BasicScraper):
class CraftedFables(_BasicScraper): class CraftedFables(_BasicScraper):
url = 'http://www.craftedfables.com/' url = 'http://www.craftedfables.com/'
stripUrl = 'http://www.caf-fiends.net/craftedfables/?p=%s' baseurl = 'http://www.caf-fiends.net/'
imageSearch = compile(tagre("img", "src", r'(http://www\.caf-fiends\.net/craftedfables/comics/[^"]+)')) rurl = escape(baseurl)
prevSearch = compile(r'<a href="(http://www.caf-fiends.net/craftedfables/.+?)"><span class="prev">') stripUrl = baseurl + 'craftedfables/?p=%s'
imageSearch = compile(tagre("img", "src", r'(%scraftedfables/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%scraftedfables/[^"]+)' % rurl) +
tagre("span", "class", r"prev"))
help = 'Index format: nnn' help = 'Index format: nnn'
@ -320,6 +347,7 @@ class CucumberQuest(_BasicScraper):
class Curvy(_BasicScraper): class Curvy(_BasicScraper):
url = 'http://www.c.urvy.org/' url = 'http://www.c.urvy.org/'
stripUrl = url + '?date=%s' stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '20080329'
imageSearch = compile(tagre("img", "src", r'(/c/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/c/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/\?date=\d+)') + prevSearch = compile(tagre("a", "href", r'(/\?date=\d+)') +
tagre("img", "src", "/nav/prev\.png")) tagre("img", "src", "/nav/prev\.png"))
@ -339,6 +367,7 @@ class CyanideAndHappiness(_BasicScraper):
url = 'http://www.explosm.net/comics/' url = 'http://www.explosm.net/comics/'
starter = bounceStarter(url, compile(tagre("a", "href", r"(/comics/\d+/)", before="next"))) starter = bounceStarter(url, compile(tagre("a", "href", r"(/comics/\d+/)", before="next")))
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '15'
imageSearch = compile(tagre("img", "src", r'(http://(?:www\.)?explosm\.net/db/files/[^"]+)', before="a daily webcomic")) 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")) prevSearch = compile(tagre("a", "href", r'(/comics/\d+/)', before="prev"))
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'

View file

@ -44,6 +44,7 @@ class DamnLol(_BasicScraper):
class Damonk(_BasicScraper): class Damonk(_BasicScraper):
url = 'http://www.damonk.com/' url = 'http://www.damonk.com/'
stripUrl = url + 'd/%s.html' stripUrl = url + 'd/%s.html'
firstStripUrl = stripUrl % '20060522'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') + prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') +
tagre("img", "src", r'/images/previous_day\.gif')) tagre("img", "src", r'/images/previous_day\.gif'))
@ -63,6 +64,7 @@ class _DandyAndCompany(_BasicScraper):
class DangerouslyChloe(_BasicScraper): class DangerouslyChloe(_BasicScraper):
url = 'http://www.dangerouslychloe.com/' url = 'http://www.dangerouslychloe.com/'
stripUrl = url + 'strips-dc/%s' stripUrl = url + 'strips-dc/%s'
firstStripUrl = stripUrl % 'chapter_1_-_that_damned_girl'
imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]*/strips-dc/[^"]+)', before="cn[id]prevt")) prevSearch = compile(tagre("a", "href", r'([^"]*/strips-dc/[^"]+)', before="cn[id]prevt"))
help = 'Index format: name' help = 'Index format: name'
@ -71,7 +73,8 @@ class DangerouslyChloe(_BasicScraper):
class DarkWings(_BasicScraper): class DarkWings(_BasicScraper):
url = 'http://www.flowerlarkstudios.com/dark-wings/' url = 'http://www.flowerlarkstudios.com/dark-wings/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2008/05/31/page-i'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: yyyy/mm/dd/page-nn-mm' help = 'Index format: yyyy/mm/dd/page-nn-mm'
@ -101,6 +104,7 @@ class DeadWinter(_BasicScraper):
class DeathToTheExtremist(_BasicScraper): class DeathToTheExtremist(_BasicScraper):
url = 'http://www.dtecomic.com/' url = 'http://www.dtecomic.com/'
stripUrl = url + '?n=%s' stripUrl = url + '?n=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'"(comics/.*?)"') imageSearch = compile(r'"(comics/.*?)"')
prevSearch = compile(r'</a> <a href="(\?n=.*?)"><.+?/aprev.gif"') prevSearch = compile(r'</a> <a href="(\?n=.*?)"><.+?/aprev.gif"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -109,10 +113,11 @@ class DeathToTheExtremist(_BasicScraper):
class DeepFried(_BasicScraper): class DeepFried(_BasicScraper):
url = 'http://www.whatisdeepfried.com/' url = 'http://www.whatisdeepfried.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2001/09/16/new-world-out-of-order'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: non' help = 'Index format: none'
class DemolitionSquad(_BasicScraper): class DemolitionSquad(_BasicScraper):
@ -145,6 +150,7 @@ class DerTodUndDasMaedchen(_BasicScraper):
class DieselSweeties(_BasicScraper): class DieselSweeties(_BasicScraper):
url = 'http://www.dieselsweeties.com/' url = 'http://www.dieselsweeties.com/'
stripUrl = url + 'archive/%s' stripUrl = url + 'archive/%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(/hstrips/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/hstrips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/archive/\d+)') + prevSearch = compile(tagre("a", "href", r'(/archive/\d+)') +
tagre("img", "src", r'(?:http://www\.dieselsweeties\.com/ximages/blackbackarrow160.png|/ximages/prev\.gif)')) tagre("img", "src", r'(?:http://www\.dieselsweeties\.com/ximages/blackbackarrow160.png|/ximages/prev\.gif)'))
@ -176,6 +182,7 @@ class Dilbert(_BasicScraper):
class DMFA(_BasicScraper): class DMFA(_BasicScraper):
url = 'http://www.missmab.com/' url = 'http://www.missmab.com/'
stripUrl = url + 'Comics/Vol_%s.php' stripUrl = url + 'Comics/Vol_%s.php'
firstStripUrl = stripUrl % '001'
imageSearch = compile(tagre("img", "src", r'((?:Comics/|Vol)[^"]+)')) imageSearch = compile(tagre("img", "src", r'((?:Comics/|Vol)[^"]+)'))
multipleImagesPerStrip = True multipleImagesPerStrip = True
prevSearch = compile(tagre("a", "href", r'((?:Comics/)?Vol[^"]+)')+ prevSearch = compile(tagre("a", "href", r'((?:Comics/)?Vol[^"]+)')+
@ -195,6 +202,7 @@ class DogHouseDiaries(_BasicScraper):
url = 'http://thedoghousediaries.com/' url = 'http://thedoghousediaries.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s' stripUrl = url + '%s'
firstStripUrl = stripUrl % '4827'
prevSearch = compile(tagre("a", "href", r'(%s\d+)' % rurl, after="previous-comic")) prevSearch = compile(tagre("a", "href", r'(%s\d+)' % rurl, after="previous-comic"))
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
help = 'Index format: number' help = 'Index format: number'
@ -203,6 +211,7 @@ class DogHouseDiaries(_BasicScraper):
class DominicDeegan(_BasicScraper): class DominicDeegan(_BasicScraper):
url = 'http://www.dominic-deegan.com/' url = 'http://www.dominic-deegan.com/'
stripUrl = url + 'view.php?date=%s' stripUrl = url + 'view.php?date=%s'
firstStripUrl = stripUrl % '2002-05-21'
imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)'))
prevSearch = compile(r'"(view.php\?date=[^"]+)".+?prev21') prevSearch = compile(r'"(view.php\?date=[^"]+)".+?prev21')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -212,24 +221,16 @@ class DorkTower(_BasicScraper):
url = 'http://www.dorktower.com/' url = 'http://www.dorktower.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '1997/01/01/shadis-magazine-strip-1'
imageSearch = compile(tagre("img", "src", r'(%sfiles/\d+/\d+/DorkTower[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%sfiles/\d+/\d+/DorkTower[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl)+"Previous") prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl)+"Previous")
help = 'Index format: yyyy/mm/dd/stripname-dd-mm-yy' help = 'Index format: yyyy/mm/dd/stripname-dd-mm-yy'
class DrFun(_BasicScraper):
baseurl = 'http://www.ibiblio.org/Dave/'
url = baseurl + 'ar00502.htm'
stripUrl = baseurl + 'ar%s.htm'
imageSearch = compile(r'<A HREF= "(Dr-Fun/df\d+/df[^"]+)">')
multipleImagesPerStrip = True
prevSearch = compile(r'<A HREF="(.+?)">Previous Week,')
help = 'Index format: nnnnn'
class Dracula(_BasicScraper): class Dracula(_BasicScraper):
url = 'http://draculacomic.net/' url = 'http://draculacomic.net/'
stripUrl = url + 'comic.php?comicID=%s' stripUrl = url + 'comic.php?comicID=%s'
firstStripUrl = stripUrl % '0'
imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)'))
prevSearch = compile(r'&nbsp;<a class="archivelink" href="(.+?)">&laquo; Prev</a>') prevSearch = compile(r'&nbsp;<a class="archivelink" href="(.+?)">&laquo; Prev</a>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -247,12 +248,25 @@ class DresdenCodak(_BasicScraper):
url = 'http://dresdencodak.com/' url = 'http://dresdencodak.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = None stripUrl = None
firstStripUrl = url + '2007/02/08/pom/'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl) + tagre("img", "src", r"%sm_prev\.png" % rurl)) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl) +
tagre("img", "src", r"%sm_prev2?\.png" % rurl))
starter = indirectStarter(url, compile(tagre("div", "id", "preview") + starter = indirectStarter(url, compile(tagre("div", "id", "preview") +
tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl))) tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl)))
class DrFun(_BasicScraper):
baseurl = 'http://www.ibiblio.org/Dave/'
url = baseurl + 'ar00502.htm'
stripUrl = baseurl + 'ar%s.htm'
firstStripUrl = stripUrl % '00001'
imageSearch = compile(tagre("a", "href", r'(Dr-Fun/df\d+/df[^"]+)'))
multipleImagesPerStrip = True
prevSearch = compile(tagre("a", "href", r'([^"]+)') + 'Previous Week,')
help = 'Index format: nnnnn'
class DrMcNinja(_BasicScraper): class DrMcNinja(_BasicScraper):
url = 'http://drmcninja.com/' url = 'http://drmcninja.com/'
rurl = escape(url) rurl = escape(url)
@ -266,6 +280,7 @@ class DrMcNinja(_BasicScraper):
class Drowtales(_BasicScraper): class Drowtales(_BasicScraper):
url = 'http://www.drowtales.com/mainarchive.php' url = 'http://www.drowtales.com/mainarchive.php'
stripUrl = url + '?sid=%s' stripUrl = url + '?sid=%s'
firstStripUrl = stripUrl % '4192'
imageSearch = compile(tagre("img", "src", r'(http://www\.drowtales\.com/mainarchive/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.drowtales\.com/mainarchive/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?sid=\d+)', before="link_prev_top")) prevSearch = compile(tagre("a", "href", r'(\?sid=\d+)', before="link_prev_top"))
help = 'Index format: number' help = 'Index format: number'

View file

@ -13,6 +13,7 @@ class EarthsongSaga(_BasicScraper):
url = 'http://www.earthsongsaga.com/' url = 'http://www.earthsongsaga.com/'
starter = indirectStarter(url, compile(tagre("a", "href", r'([^"]+)') + tagre("img", "src", r'[^"]+current\.jpg'))) starter = indirectStarter(url, compile(tagre("a", "href", r'([^"]+)') + tagre("img", "src", r'[^"]+current\.jpg')))
stripUrl = None stripUrl = None
firstStripUrl = url + 'vol1/vol1cover.html'
imageSearch = compile(tagre("img", "src", r'((?:\.\./)?images/vol\d+/ch\d+/\d+\.\w+)')) imageSearch = compile(tagre("img", "src", r'((?:\.\./)?images/vol\d+/ch\d+/\d+\.\w+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after="Previous")) prevSearch = compile(tagre("a", "href", r'([^"]+)', after="Previous"))
@ -25,6 +26,7 @@ class EarthsongSaga(_BasicScraper):
class EdibleDirt(_BasicScraper): class EdibleDirt(_BasicScraper):
url = 'http://eddirt.frozenreality.co.uk/' url = 'http://eddirt.frozenreality.co.uk/'
stripUrl = url + 'index.php?id=%s' stripUrl = url + 'index.php?id=%s'
firstStripUrl = stripUrl % '0'
imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r"(index\.php\?id=\d+)")+"Previous") prevSearch = compile(tagre("a", "href", r"(index\.php\?id=\d+)")+"Previous")
help = 'Index format: number' help = 'Index format: number'
@ -50,6 +52,7 @@ class Eriadan(_BasicScraper):
class ElfOnlyInn(_BasicScraper): class ElfOnlyInn(_BasicScraper):
url = 'http://www.elfonlyinn.net/' url = 'http://www.elfonlyinn.net/'
stripUrl = url + 'd/%s.html' stripUrl = url + 'd/%s.html'
firstStripUrl = stripUrl % '20020523'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') + prevSearch = compile(tagre("a", "href", r'(/d/\d+\.html)') +
tagre("img", "src", r'/images/previous_day\.gif')) tagre("img", "src", r'/images/previous_day\.gif'))
@ -78,6 +81,7 @@ class Ellerbisms(_BasicScraper):
url = 'http://www.ellerbisms.com/' url = 'http://www.ellerbisms.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '15'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: nnn' help = 'Index format: nnn'
@ -86,6 +90,7 @@ class Ellerbisms(_BasicScraper):
class EmergencyExit(_BasicScraper): class EmergencyExit(_BasicScraper):
url = 'http://www.eecomics.net/' url = 'http://www.eecomics.net/'
stripUrl = url + "?strip_id=%s" stripUrl = url + "?strip_id=%s"
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'"(comics/.+?)"') imageSearch = compile(r'"(comics/.+?)"')
prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + tagre("img", "alt", r"Prior")) prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + tagre("img", "alt", r"Prior"))
help = 'Index format: n' help = 'Index format: n'
@ -100,17 +105,10 @@ class _ErrantStory(_BasicScraper):
help = 'Index format: yyyy-mm-dd/num' help = 'Index format: yyyy-mm-dd/num'
class Evercrest(_BasicScraper):
url = 'http://www.evercrest.com/archives/20030308'
stripUrl = 'http://www.evercrest.com/archives/%s'
imageSearch = compile(r'<img.+?src="([^"]*/(images/oldstrips|archives/i)/[^"]*)"')
prevSearch = compile(r'<a.+?href="(http://www\.evercrest\.com/archives/\d+)">&lt; Previous')
help = 'Index format: yyyymmdd'
class EverybodyLovesEricRaymond(_BasicScraper): class EverybodyLovesEricRaymond(_BasicScraper):
url = 'http://geekz.co.uk/lovesraymond/' url = 'http://geekz.co.uk/lovesraymond/'
stripUrl = url + 'archive/%s' stripUrl = url + 'archive/%s'
firstStripUrl = stripUrl % 'slashdotted'
imageSearch = compile(r'<img src="((?:http://geekz.co.uk)?/lovesraymond/wp-content(?:/images)/ep\d+\w?\.jpg)"', IGNORECASE) imageSearch = compile(r'<img src="((?:http://geekz.co.uk)?/lovesraymond/wp-content(?:/images)/ep\d+\w?\.jpg)"', IGNORECASE)
prevSearch = compile(r'&laquo; <a href="(http://geekz.co.uk/lovesraymond/archive/[^/"]*)">') prevSearch = compile(r'&laquo; <a href="(http://geekz.co.uk/lovesraymond/archive/[^/"]*)">')
help = 'Index format: name-of-old-comic' help = 'Index format: name-of-old-comic'
@ -130,13 +128,16 @@ class EverydayBlues(_BasicScraper):
class EvilDiva(_BasicScraper): class EvilDiva(_BasicScraper):
url = 'http://www.evildivacomics.com/' url = 'http://www.evildivacomics.com/'
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '145'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r'http.+?com/(.+?)".+?"prev') prevSearch = compile(r'http.+?com/(.+?)".+?"prev')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
class EvilInc(_BasicScraper): class EvilInc(_BasicScraper):
url = 'http://www.evil-comic.com/' url = 'http://www.evil-comic.com/'
stripUrl = url + 'archive/%s.html' stripUrl = url + 'archive/%s.html'
firstStripUrl = stripUrl % '20050530'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)') + tagre("img", "src", r'/images/previous\.gif')) prevSearch = compile(tagre("a", "href", r'([^"]+)') + tagre("img", "src", r'/images/previous\.gif'))
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -146,6 +147,7 @@ class Exiern(_BasicScraper):
url = 'http://www.exiern.com/' url = 'http://www.exiern.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2005/09/06/so-far'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -155,6 +157,7 @@ class ExploitationNow(_BasicScraper):
url = 'http://www.exploitationnow.com/' url = 'http://www.exploitationnow.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s' stripUrl = url + '%s'
firstStripUrl = stripUrl % '2000-07-07/9'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: yyyy-mm-dd/num' help = 'Index format: yyyy-mm-dd/num'

View file

@ -12,6 +12,7 @@ from ..helpers import indirectStarter
class FalconTwin(_BasicScraper): class FalconTwin(_BasicScraper):
url = 'http://www.falcontwin.com/' url = 'http://www.falcontwin.com/'
stripUrl = url + 'index.html?strip=%s' stripUrl = url + 'index.html?strip=%s'
firstStripUrl = stripUrl % '0'
imageSearch = compile(r'"(strips/.+?)"') imageSearch = compile(r'"(strips/.+?)"')
prevSearch = compile(r'"prev"><a href="(index.+?)"') prevSearch = compile(r'"prev"><a href="(index.+?)"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -51,6 +52,7 @@ class FantasyRealms(_BasicScraper):
class FauxPas(_BasicScraper): class FauxPas(_BasicScraper):
url = 'http://www.ozfoxes.net/cgi/pl-fp1.cgi' url = 'http://www.ozfoxes.net/cgi/pl-fp1.cgi'
stripUrl = url + '?%s' stripUrl = url + '?%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'<img .*src="(.*fp/fp.*(png|jpg|gif))"') imageSearch = compile(r'<img .*src="(.*fp/fp.*(png|jpg|gif))"')
prevSearch = compile(r'<a href="(pl-fp1\.cgi\?\d+)">Previous Strip') prevSearch = compile(r'<a href="(pl-fp1\.cgi\?\d+)">Previous Strip')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -70,6 +72,7 @@ class FilibusterCartoons(_BasicScraper):
url = 'http://www.filibustercartoons.com/' url = 'http://www.filibustercartoons.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'index.php/%s' stripUrl = url + 'index.php/%s'
firstStripUrl = stripUrl % '2001/06/28/poor-jean'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -89,6 +92,7 @@ class FlakyPastry(_BasicScraper):
baseurl = 'http://flakypastry.runningwithpencils.com/' baseurl = 'http://flakypastry.runningwithpencils.com/'
url = baseurl + 'index.php' url = baseurl + 'index.php'
stripUrl = baseurl + 'comic.php?strip_id=%s' stripUrl = baseurl + 'comic.php?strip_id=%s'
firstStripUrl = stripUrl % '0'
imageSearch = compile(r'<img src="(comics/.+?)"') imageSearch = compile(r'<img src="(comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)".+?btn_back') prevSearch = compile(r'<a href="(.+?)".+?btn_back')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -107,6 +111,7 @@ class Flipside(_BasicScraper):
url = 'http://flipside.keenspot.com/comic.php' url = 'http://flipside.keenspot.com/comic.php'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?i=%s' stripUrl = url + '?i=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://cdn\.flipside\.keenspot\.com/comic/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://cdn\.flipside\.keenspot\.com/comic/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(%s\?i=\d+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\?i=\d+)' % rurl, after="prev"))
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -134,6 +139,7 @@ class FonFlatter(_BasicScraper):
class Footloose(_BasicScraper): class Footloose(_BasicScraper):
url = 'http://footloosecomic.com/footloose/today.php' url = 'http://footloosecomic.com/footloose/today.php'
stripUrl = 'http://footloosecomic.com/footloose/pages.php?page=%s' stripUrl = 'http://footloosecomic.com/footloose/pages.php?page=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'<img src="/footloose/(.+?)"') imageSearch = compile(r'<img src="/footloose/(.+?)"')
prevSearch = compile(r'(?:first.+?[^>]).+?(/footloose/.+?)".+?(?:prev)') prevSearch = compile(r'(?:first.+?[^>]).+?(/footloose/.+?)".+?(?:prev)')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -160,7 +166,8 @@ class Freefall(_BasicScraper):
class FredoAndPidjin(_BasicScraper): class FredoAndPidjin(_BasicScraper):
url = 'http://www.pidjin.net/' url = 'http://www.pidjin.net/'
stripUrl = None stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2006/02/19/goofy-monday'
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
imageSearch = compile(tagre('img', 'src', '(http://cdn\.pidjin\.net/wp-content/uploads/\d+/\d+/[^"]+\.png)')) imageSearch = compile(tagre('img', 'src', '(http://cdn\.pidjin\.net/wp-content/uploads/\d+/\d+/[^"]+\.png)'))
multipleImagesPerStrip = True multipleImagesPerStrip = True
@ -182,6 +189,7 @@ class FullFrontalNerdity(_BasicScraper):
class FunInJammies(_BasicScraper): class FunInJammies(_BasicScraper):
url = 'http://www.funinjammies.com/' url = 'http://www.funinjammies.com/'
stripUrl = url + 'comic.php?issue=%s' stripUrl = url + 'comic.php?issue=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r'(/comic.php.+?)" id.+?prev') prevSearch = compile(r'(/comic.php.+?)" id.+?prev')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'

View file

@ -13,6 +13,7 @@ class Galaxion(_BasicScraper):
url = 'http://galaxioncomics.com/' url = 'http://galaxioncomics.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '1-comic/the-story-so-far/the-story-so-far'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: n-comic/book-n/chapter-n/title-nnn' help = 'Index format: n-comic/book-n/chapter-n/title-nnn'
@ -27,12 +28,13 @@ class Garanos(_BasicScraper):
stripUrl = baseurl + 'pages/page-%s' stripUrl = baseurl + 'pages/page-%s'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%spages/[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%spages/[^"]+)' % rurl, after="prev"))
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
class GastroPhobia(_BasicScraper): class GastroPhobia(_BasicScraper):
url = 'http://www.gastrophobia.com/' url = 'http://www.gastrophobia.com/'
stripUrl = url + 'index.php?date=%s' stripUrl = url + 'index.php?date=%s'
firstStripUrl = stripUrl % '2008-07-30'
imageSearch = compile(r'<img src="(http://gastrophobia.com/comix/[^"]+)"[^>]*>(?!<br>)') imageSearch = compile(r'<img src="(http://gastrophobia.com/comix/[^"]+)"[^>]*>(?!<br>)')
prevSearch = compile(r'<a href="(.+?)"><img src="pix/prev.gif" ') prevSearch = compile(r'<a href="(.+?)"><img src="pix/prev.gif" ')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -41,6 +43,7 @@ class GastroPhobia(_BasicScraper):
class Geeks(_BasicScraper): class Geeks(_BasicScraper):
url = 'http://sevenfloorsdown.com/geeks/' url = 'http://sevenfloorsdown.com/geeks/'
stripUrl = url + 'archives/%s' stripUrl = url + 'archives/%s'
firstStripUrl = stripUrl % '10'
imageSearch = compile(r'<img src=\'(http://sevenfloorsdown.com/geeks/comics/.+?)\'') imageSearch = compile(r'<img src=\'(http://sevenfloorsdown.com/geeks/comics/.+?)\'')
prevSearch = compile(r'<a href="(.+?)">&laquo; Previous') prevSearch = compile(r'<a href="(.+?)">&laquo; Previous')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -49,6 +52,7 @@ class Geeks(_BasicScraper):
class GeeksNextDoor(_BasicScraper): class GeeksNextDoor(_BasicScraper):
url = 'http://www.geeksnextcomic.com/' url = 'http://www.geeksnextcomic.com/'
stripUrl = url + '%s.html' stripUrl = url + '%s.html'
firstStripUrl = stripUrl % '2010-10-04'
imageSearch = compile(tagre("img", "src", r'(images/GND\d+[^"]+)')) imageSearch = compile(tagre("img", "src", r'(images/GND\d+[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\d+-\d+-\d+\.html)') + prevSearch = compile(tagre("a", "href", r'(\d+-\d+-\d+\.html)') +
tagre("img", "src", r'images/nav_prev\.png')) tagre("img", "src", r'images/nav_prev\.png'))
@ -57,15 +61,21 @@ class GeeksNextDoor(_BasicScraper):
class GirlsWithSlingshots(_BasicScraper): class GirlsWithSlingshots(_BasicScraper):
url = 'http://www.girlswithslingshots.com/' url = 'http://www.girlswithslingshots.com/'
stripUrl = url + 'comic/gws-%s/' rurl = escape(url)
imageSearch = compile(tagre("img", "src", r'(http://(?:www|cdn)\.girlswithslingshots\.com/comics/[^"]+)')) stripUrl = url + 'comic/gws%s/'
prevSearch = compile(tagre("a", "href", r'(http://www\.girlswithslingshots\.com/comic/[^"]+)', after="prev")) firstStripUrl = stripUrl % '1'
imageSearch = (
compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)),
compile(tagre("img", "src", r'(http://cdn\.girlswithslingshots\.com/comics/[^"]+)')),
)
prevSearch = compile(tagre("a", "href", r'(%s/comic/[^"]+)' % rurl, after="prev"))
help = 'Index format: nnn' help = 'Index format: nnn'
class GlassHalfEmpty(_BasicScraper): class GlassHalfEmpty(_BasicScraper):
url = 'http://www.defectivity.com/ghe/index.php' url = 'http://www.defectivity.com/ghe/index.php'
stripUrl = url + '?strip_id=%s' stripUrl = url + '?strip_id=%s'
firstStripUrl = stripUrl % '0'
imageSearch = compile(r'src="(comics/.+?)"') imageSearch = compile(r'src="(comics/.+?)"')
prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + tagre("img", "src", r'\.\./images/arrowbuttons/onback\.jpg')) prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + tagre("img", "src", r'\.\./images/arrowbuttons/onback\.jpg'))
help = 'Index format: nnn' help = 'Index format: nnn'
@ -75,6 +85,7 @@ class GleefulNihilism(_BasicScraper):
url = 'http://gleefulnihilism.com/' url = 'http://gleefulnihilism.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comics/%s/' stripUrl = url + 'comics/%s/'
firstStripUrl = stripUrl % '2008/10/20/amoeba'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%scomics/[^"]+)' % rurl) + 'Previous') prevSearch = compile(tagre("a", "href", r'(%scomics/[^"]+)' % rurl) + 'Previous')
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -83,6 +94,7 @@ class GleefulNihilism(_BasicScraper):
class Goats(_BasicScraper): class Goats(_BasicScraper):
url = 'http://www.goats.com/' url = 'http://www.goats.com/'
stripUrl = url + 'archive/%s.html' stripUrl = url + 'archive/%s.html'
firstStripUrl = stripUrl % '970401'
imageSearch = compile(r'<img.+?src="(/comix/.+?)"') imageSearch = compile(r'<img.+?src="(/comix/.+?)"')
prevSearch = compile(r'<a href="(/archive/\d{6}.html)" class="button" title="go back">') prevSearch = compile(r'<a href="(/archive/\d{6}.html)" class="button" title="go back">')
help = 'Index format: yymmdd' help = 'Index format: yymmdd'
@ -103,6 +115,7 @@ class GoneWithTheBlastwave(_BasicScraper):
starter = indirectStarter(url, starter = indirectStarter(url,
compile(r'href="(index.php\?p=comic&amp;nro=\d+)"><img src="images/page/default/latest')) compile(r'href="(index.php\?p=comic&amp;nro=\d+)"><img src="images/page/default/latest'))
stripUrl = url[:-1] + '%s' stripUrl = url[:-1] + '%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'<img.+src=".+(/comics/.+?)"') imageSearch = compile(r'<img.+src=".+(/comics/.+?)"')
prevSearch = compile(r'href="(index.php\?p=comic&amp;nro=\d+)"><img src="images/page/default/previous') prevSearch = compile(r'href="(index.php\?p=comic&amp;nro=\d+)"><img src="images/page/default/previous')
help = 'Index format: n' help = 'Index format: n'
@ -116,6 +129,7 @@ class GrrlPower(_BasicScraper):
url = 'http://www.grrlpowercomic.com/' url = 'http://www.grrlpowercomic.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'archives/%s' stripUrl = url + 'archives/%s'
firstStripUrl = stripUrl % '48'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchives/\d+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%sarchives/\d+)' % rurl, after="navi-prev"))
help = 'Index format: number' help = 'Index format: number'
@ -132,6 +146,7 @@ class GunnerkrigCourt(_BasicScraper):
class Gunshow(_BasicScraper): class Gunshow(_BasicScraper):
url = 'http://gunshowcomic.com/' url = 'http://gunshowcomic.com/'
stripUrl = url + '%s' stripUrl = url + '%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://gunshowcomic\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://gunshowcomic\.com/comics/[^"]+)'))
multipleImagesPerStrip = True multipleImagesPerStrip = True
prevSearch = compile(tagre("a", "href", r'([^"]+)') + tagre("img", "src", r'[^"]*menu/small/previous\.gif')) prevSearch = compile(tagre("a", "href", r'([^"]+)') + tagre("img", "src", r'[^"]*menu/small/previous\.gif'))
@ -141,6 +156,7 @@ class Gunshow(_BasicScraper):
class GUComics(_BasicScraper): class GUComics(_BasicScraper):
url = 'http://www.gucomics.com/' url = 'http://www.gucomics.com/'
stripUrl = url + '%s' stripUrl = url + '%s'
firstStripUrl = stripUrl % '20000710'
imageSearch = compile(tagre("img", "src", r'(/comics/\d{4}/gu_[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comics/\d{4}/gu_[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/\d+)') + prevSearch = compile(tagre("a", "href", r'(/\d+)') +
tagre("img", "src", r'/images/nav/prev\.png')) tagre("img", "src", r'/images/nav/prev\.png'))

View file

@ -51,9 +51,10 @@ class HijinksEnsue(_BasicScraper):
url = 'http://hijinksensue.com/' url = 'http://hijinksensue.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2007/05/11/a-soul-as-black-as-eyeliner'
imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/stripname'
class Hipsters(_BasicScraper): class Hipsters(_BasicScraper):
@ -69,6 +70,7 @@ class Hipsters(_BasicScraper):
class HorribleVille(_BasicScraper): class HorribleVille(_BasicScraper):
url = 'http://horribleville.com/' url = 'http://horribleville.com/'
stripUrl = url + 'd/%s.html' stripUrl = url + 'd/%s.html'
firstStripUrl = stripUrl % '20051220'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/d/[^"]+)') + tagre("img", "src", r'/images/previous\.png')) prevSearch = compile(tagre("a", "href", r'(/d/[^"]+)') + tagre("img", "src", r'/images/previous\.png'))
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'

View file

@ -21,6 +21,7 @@ class IanJay(_BasicScraper):
url = 'http://ianjay.net/' url = 'http://ianjay.net/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '210'
imageSearch = compile(tagre("img", "src", r'(%scomics/\d+[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/\d+[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="Previous")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="Previous"))
help = 'Index foramt: nnn' help = 'Index foramt: nnn'
@ -29,6 +30,7 @@ class IanJay(_BasicScraper):
class IDreamOfAJeanieBottle(_BasicScraper): class IDreamOfAJeanieBottle(_BasicScraper):
url = 'http://jeaniebottle.com/' url = 'http://jeaniebottle.com/'
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '15'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(tagre("a", "href", r'(http://jeaniebottle\.com/\?p=\d+)', after="prev")) prevSearch = compile(tagre("a", "href", r'(http://jeaniebottle\.com/\?p=\d+)', after="prev"))
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -37,6 +39,7 @@ class IDreamOfAJeanieBottle(_BasicScraper):
class InsideOut(_BasicScraper): class InsideOut(_BasicScraper):
url = 'http://www.insideoutcomic.com/' url = 'http://www.insideoutcomic.com/'
stripUrl = url + 'html/%s.html' stripUrl = url + 'html/%s.html'
firstStripUrl = stripUrl % '1_snake_suicide'
imageSearch = compile(r'Picture12LYR.+?C="(.+?/assets/images/.+?)"') imageSearch = compile(r'Picture12LYR.+?C="(.+?/assets/images/.+?)"')
prevSearch = compile(r'Picture7LYR.+?F="(.+?/html/.+?)"') prevSearch = compile(r'Picture7LYR.+?F="(.+?/html/.+?)"')
help = 'Index format: n_comic_name' help = 'Index format: n_comic_name'
@ -45,6 +48,7 @@ class InsideOut(_BasicScraper):
class IrregularWebcomic(_BasicScraper): class IrregularWebcomic(_BasicScraper):
url = 'http://www.irregularwebcomic.net/' url = 'http://www.irregularwebcomic.net/'
stripUrl = url + '%s.html' stripUrl = url + '%s.html'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'<img .*src="(.*comics/.*(png|jpg|gif))".*>') imageSearch = compile(r'<img .*src="(.*comics/.*(png|jpg|gif))".*>')
prevSearch = compile(r'<a href="(/\d+\.html|/cgi-bin/comic\.pl\?comic=\d+)">Previous ') prevSearch = compile(r'<a href="(/\d+\.html|/cgi-bin/comic\.pl\?comic=\d+)">Previous ')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -53,6 +57,7 @@ class IrregularWebcomic(_BasicScraper):
class ItsWalky(_BasicScraper): class ItsWalky(_BasicScraper):
url = 'http://www.itswalky.com/' url = 'http://www.itswalky.com/'
stripUrl = url + 'd/%s.html' stripUrl = url + 'd/%s.html'
firstStripUrl = stripUrl % '19970908'
imageSearch = compile(tagre("img", "src", r'(/comic[s|/][^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comic[s|/][^"]+)'))
prevSearch = compile(tagre("a", "href", r'[^"]*(/d/\d+\.s?html)')+r"[^>]+/images/(?:nav_02|previous_day)\.gif") prevSearch = compile(tagre("a", "href", r'[^"]*(/d/\d+\.s?html)')+r"[^>]+/images/(?:nav_02|previous_day)\.gif")
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'

View file

@ -11,6 +11,7 @@ class JackCannon(_BasicScraper):
url = 'http://fancyadventures.com/' url = 'http://fancyadventures.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2008/07/07/2008-07-08'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/page-nnn' help = 'Index format: yyyy/mm/dd/page-nnn'
@ -19,6 +20,7 @@ class JackCannon(_BasicScraper):
class JerkCity(_BasicScraper): class JerkCity(_BasicScraper):
url = 'http://www.jerkcity.com/' url = 'http://www.jerkcity.com/'
stripUrl = url + '_jerkcity%s.html' stripUrl = url + '_jerkcity%s.html'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(/jerkcity[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/jerkcity[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/_jerkcity[^"]+)') + r'&lt;&lt;Previous') prevSearch = compile(tagre("a", "href", r'(/_jerkcity[^"]+)') + r'&lt;&lt;Previous')
help = 'Index format: n' help = 'Index format: n'
@ -35,6 +37,7 @@ class JoeAndMonkey(_BasicScraper):
class JohnnyWander(_BasicScraper): class JohnnyWander(_BasicScraper):
url = 'http://www.johnnywander.com/' url = 'http://www.johnnywander.com/'
stripUrl = url + 'comics/%s' stripUrl = url + 'comics/%s'
firstStripUrl = stripUrl % '423'
imageSearch = compile(tagre("img", "src", r'(http://www\.johnnywander\.com/files/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.johnnywander\.com/files/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/comics/\d+)') + r'prev') prevSearch = compile(tagre("a", "href", r'(/comics/\d+)') + r'prev')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -73,6 +73,7 @@ class _Kofightclub(_BasicScraper):
class Krakow(_BasicScraper): class Krakow(_BasicScraper):
url = 'http://www.krakow.krakowstudios.com/' url = 'http://www.krakow.krakowstudios.com/'
stripUrl = url + 'archive.php?date=%s' stripUrl = url + 'archive.php?date=%s'
firstStripUrl = stripUrl % '20081111'
imageSearch = compile(r'<img src="(comics/.+?)"') imageSearch = compile(r'<img src="(comics/.+?)"')
prevSearch = compile(r'<a href="(archive\.php\?date=.+?)"><img border=0 name=previous_day') prevSearch = compile(r'<a href="(archive\.php\?date=.+?)"><img border=0 name=previous_day')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -82,6 +83,7 @@ class Kukuburi(_BasicScraper):
baseurl = 'http://www.kukuburi.com/' baseurl = 'http://www.kukuburi.com/'
url = baseurl + 'current/' url = baseurl + 'current/'
stripUrl = baseurl + 'v2/%s/' stripUrl = baseurl + 'v2/%s/'
firstStripUrl = stripUrl % '2007/08/09/one'
imageSearch = compile(tagre("img", "src", r'(http://www\.kukuburi\.com/v2/comics/[^"]+)', after='alt="[^"]')) imageSearch = compile(tagre("img", "src", r'(http://www\.kukuburi\.com/v2/comics/[^"]+)', after='alt="[^"]'))
prevSearch = compile(r'nav-previous.+?"(http.+?)"') prevSearch = compile(r'nav-previous.+?"(http.+?)"')
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'

View file

@ -22,6 +22,7 @@ class LeastICouldDo(_BasicScraper):
url = 'http://www.leasticoulddo.com/' url = 'http://www.leasticoulddo.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comic/%s' stripUrl = url + 'comic/%s'
firstStripUrl = stripUrl % '20130109'
imageSearch = compile(tagre("img", "src", r'(http://cdn\.leasticoulddo\.com/wp-content/uploads/\d+/\d+/\d{8}\.\w{1,4})')) imageSearch = compile(tagre("img", "src", r'(http://cdn\.leasticoulddo\.com/wp-content/uploads/\d+/\d+/\d{8}\.\w{1,4})'))
prevSearch = compile(tagre("a", "href", r'(%scomic/\d+/)' % rurl, after="Previous")) prevSearch = compile(tagre("a", "href", r'(%scomic/\d+/)' % rurl, after="Previous"))
starter = indirectStarter(url, starter = indirectStarter(url,
@ -32,7 +33,8 @@ class LeastICouldDo(_BasicScraper):
class Lint(_BasicScraper): class Lint(_BasicScraper):
url = 'http://www.purnicellin.com/lint/' url = 'http://www.purnicellin.com/lint/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2004/01/10/01102004'
imageSearch = compile(r'<img src="(%scomics/.+?)"' % rurl) imageSearch = compile(r'<img src="(%scomics/.+?)"' % rurl)
prevSearch = compile(r'\| <a href="([^"]+)" rel="prev">') prevSearch = compile(r'\| <a href="([^"]+)" rel="prev">')
help = 'Index format: yyyy/mm/dd/num-name' help = 'Index format: yyyy/mm/dd/num-name'
@ -41,6 +43,7 @@ class Lint(_BasicScraper):
class LittleGamers(_BasicScraper): class LittleGamers(_BasicScraper):
url = 'http://www.little-gamers.com/' url = 'http://www.little-gamers.com/'
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2000/12/01/99'
imageSearch = compile(tagre("img", "src", r'(http://little-gamers\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://little-gamers\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.little-gamers\.com/[^"]+)', before="comic-nav-prev-link")) prevSearch = compile(tagre("a", "href", r'(http://www\.little-gamers\.com/[^"]+)', before="comic-nav-prev-link"))
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -60,8 +63,10 @@ class LookingForGroup(_BasicScraper):
url = 'http://www.lfgcomic.com/' url = 'http://www.lfgcomic.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'page/%s/' stripUrl = url + 'page/%s/'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://cdn\.lfgcomic\.com/wp-content/uploads/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://cdn\.lfgcomic\.com/wp-content/uploads/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(%spage/\d+/)' % rurl, after="navtop-prev")) prevSearch = compile(tagre("a", "href", r'(%spage/[-0-9]+/)' % rurl, after="navtop-prev"))
starter = indirectStarter(url, compile(tagre("a", "href", r'(%spage/\d+/)' % rurl, after="feature-previous"))) starter = indirectStarter(url,
nameSearch = compile(r'/page/(\d+)/') compile(tagre("a", "href", r'(%spage/[-0-9]+/)' % rurl, after="feature-previous")))
nameSearch = compile(r'/page/([-0-9]+)/')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -8,6 +8,15 @@ from ..scraper import _BasicScraper
from ..util import tagre from ..util import tagre
class MacHall(_BasicScraper):
url = 'http://www.machall.com/'
stripUrl = url + 'view.php?date=%s'
firstStripUrl = stripUrl % '2000-11-07'
imageSearch = compile(r'<img src="(comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><img[^>]+?src=\'drop_shadow/previous.gif\'>')
help = 'Index format: yyyy-mm-dd'
# broken links - disable for now # broken links - disable for now
class _MadamAndEve(_BasicScraper): class _MadamAndEve(_BasicScraper):
url = 'http://www.madamandeve.co.za/week_of_cartns.php' url = 'http://www.madamandeve.co.za/week_of_cartns.php'
@ -19,6 +28,7 @@ class _MadamAndEve(_BasicScraper):
class MagickChicks(_BasicScraper): class MagickChicks(_BasicScraper):
url = 'http://www.magickchicks.com/' url = 'http://www.magickchicks.com/'
stripUrl = url + 'strips-mc/%s' stripUrl = url + 'strips-mc/%s'
firstStripUrl = stripUrl % 'tis_but_a_trifle'
imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]*/strips-mc/[^"]+)', before="cn[id]prevt")) prevSearch = compile(tagre("a", "href", r'([^"]*/strips-mc/[^"]+)', before="cn[id]prevt"))
help = 'Index format: name' help = 'Index format: name'
@ -28,6 +38,7 @@ class ManlyGuysDoingManlyThings(_BasicScraper):
url = 'http://thepunchlineismachismo.com/' url = 'http://thepunchlineismachismo.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'archives/comic/%s' stripUrl = url + 'archives/comic/%s'
firstStripUrl = stripUrl % '02222010'
imageSearch = compile(tagre("img", "src", r'(%swp-content/uploads/\d+/\d+/\d+-\d+-\d+[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%swp-content/uploads/\d+/\d+/\d+-\d+-\d+[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sarchives/comic/[^"]+)' % rurl, after="previous")) prevSearch = compile(tagre("a", "href", r'(%sarchives/comic/[^"]+)' % rurl, after="previous"))
help = 'Index format: ddmmyyyy' help = 'Index format: ddmmyyyy'
@ -36,6 +47,7 @@ class ManlyGuysDoingManlyThings(_BasicScraper):
class Marilith(_BasicScraper): class Marilith(_BasicScraper):
url = 'http://www.marilith.com/' url = 'http://www.marilith.com/'
stripUrl = url + 'archive.php?date=%s' stripUrl = url + 'archive.php?date=%s'
firstStripUrl = stripUrl % '20041215'
imageSearch = compile(r'<img src="(comics/.+?)" border') imageSearch = compile(r'<img src="(comics/.+?)" border')
prevSearch = compile(r'<a href="(archive\.php\?date=.+?)"><img border=0 name=previous_day') prevSearch = compile(r'<a href="(archive\.php\?date=.+?)"><img border=0 name=previous_day')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -52,6 +64,7 @@ class MarryMe(_BasicScraper):
class Meek(_BasicScraper): class Meek(_BasicScraper):
url = 'http://www.meekcomic.com/' url = 'http://www.meekcomic.com/'
stripUrl = url + '%s' stripUrl = url + '%s'
firstStripUrl = stripUrl % '2008/12/27/chapter-1-cover '
imageSearch = compile(r'meekcomic.com(/comics/.+?)"') imageSearch = compile(r'meekcomic.com(/comics/.+?)"')
prevSearch = compile(r'\s.+?(http://www.meekcomic.com/.+?)".+?Previous<') prevSearch = compile(r'\s.+?(http://www.meekcomic.com/.+?)".+?Previous<')
help = 'Index format: yyyy/mm/dd/ch-p/' help = 'Index format: yyyy/mm/dd/ch-p/'
@ -60,6 +73,7 @@ class Meek(_BasicScraper):
class MegaTokyo(_BasicScraper): class MegaTokyo(_BasicScraper):
url = 'http://megatokyo.com/' url = 'http://megatokyo.com/'
stripUrl = url + 'strip/%s' stripUrl = url + 'strip/%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'"(strips/.+?)"', IGNORECASE) imageSearch = compile(r'"(strips/.+?)"', IGNORECASE)
prevSearch = compile(r'"(./strip/\d+?)">Prev') prevSearch = compile(r'"(./strip/\d+?)">Prev')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -69,19 +83,12 @@ class Meiosis(_BasicScraper):
url = 'http://meiosiswebcomic.com/' url = 'http://meiosiswebcomic.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2006/10/10142006'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: yyyy/mm/ddmmyyyy' help = 'Index format: yyyy/mm/ddmmyyyy'
class MacHall(_BasicScraper):
url = 'http://www.machall.com/'
stripUrl = url + 'view.php?date=%s'
imageSearch = compile(r'<img src="(comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><img[^>]+?src=\'drop_shadow/previous.gif\'>')
help = 'Index format: yyyy-mm-dd'
class MenageA3(_BasicScraper): class MenageA3(_BasicScraper):
adult = True adult = True
url = 'http://www.ma3comic.com/' url = 'http://www.ma3comic.com/'
@ -95,6 +102,7 @@ class Melonpool(_BasicScraper):
url = 'http://www.melonpool.com/' url = 'http://www.melonpool.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '41'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev"))
help = 'Index format: n' help = 'Index format: n'
@ -103,6 +111,7 @@ class Melonpool(_BasicScraper):
class Misfile(_BasicScraper): class Misfile(_BasicScraper):
url = 'http://www.misfile.com/' url = 'http://www.misfile.com/'
stripUrl = url + '?date=%s' stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '2004-02-22'
imageSearch = compile(tagre("img", "src", r"(comics/[^']+)", quote="'")) imageSearch = compile(tagre("img", "src", r"(comics/[^']+)", quote="'"))
prevSearch = compile(tagre("link", "href", r"([^']+)", quote="'", before="Previous")) prevSearch = compile(tagre("link", "href", r"([^']+)", quote="'", before="Previous"))
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -124,6 +133,7 @@ class MyCartoons(_BasicScraper):
class MysteriesOfTheArcana(_BasicScraper): class MysteriesOfTheArcana(_BasicScraper):
url = 'http://mysteriesofthearcana.com/' url = 'http://mysteriesofthearcana.com/'
stripUrl = url + 'index.php?action=comics&cid=%s' stripUrl = url + 'index.php?action=comics&cid=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(image\.php\?type=com&i=[^"]+)')) imageSearch = compile(tagre("img", "src", r'(image\.php\?type=com&i=[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(index\.php[^"]+)', after="navprevious")) prevSearch = compile(tagre("a", "href", r'(index\.php[^"]+)', after="navprevious"))
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'

View file

@ -10,7 +10,8 @@ from ..util import tagre
class Namesake(_BasicScraper): class Namesake(_BasicScraper):
url = 'http://namesakecomic.com/' url = 'http://namesakecomic.com/'
stripUrl = url + 'comic/%s' stripUrl = url + 'comic/%s/'
firstStripUrl = stripUrl % 'prologue-cover-3'
imageSearch = compile(tagre("img", "src", r'([^"]*/wp-content/uploads/[^"]+)', after='title=')) imageSearch = compile(tagre("img", "src", r'([^"]*/wp-content/uploads/[^"]+)', after='title='))
prevSearch = compile(tagre("a", "href", r'([^"]*/comic/[^"]+)', after='navi-prev')) prevSearch = compile(tagre("a", "href", r'([^"]*/comic/[^"]+)', after='navi-prev'))
help = 'Index format: name' help = 'Index format: name'
@ -25,6 +26,7 @@ class NamirDeiter(_BasicScraper):
url = 'http://www.namirdeiter.com/' url = 'http://www.namirdeiter.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comics/index.php?date=%s' stripUrl = url + 'comics/index.php?date=%s'
firstStripUrl = stripUrl % '19991128'
imageSearch = compile(tagre("img", "src", r"'?(%scomics/\d+\.jpg)'?" % rurl, quote="")) imageSearch = compile(tagre("img", "src", r"'?(%scomics/\d+\.jpg)'?" % rurl, quote=""))
prevSearch = compile(tagre("a", "href", r'(%scomics/index\.php\?date=\d+)' % rurl, quote="'")+"Previous") prevSearch = compile(tagre("a", "href", r'(%scomics/index\.php\?date=\d+)' % rurl, quote="'")+"Previous")
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -34,6 +36,7 @@ class Nedroid(_BasicScraper):
url = 'http://nedroid.com/' url = 'http://nedroid.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2005/09/2210-whee'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -42,6 +45,7 @@ class Nedroid(_BasicScraper):
class NeoEarth(_BasicScraper): class NeoEarth(_BasicScraper):
url = 'http://www.neo-earth.com/NE/' url = 'http://www.neo-earth.com/NE/'
stripUrl = url + 'index.php?date=%s' stripUrl = url + 'index.php?date=%s'
firstStripUrl = stripUrl % '2007-03-23'
imageSearch = compile(r'<img src="(strips/.+?)"') imageSearch = compile(r'<img src="(strips/.+?)"')
prevSearch = compile(r'<a href="(.+?)">Previous</a>') prevSearch = compile(r'<a href="(.+?)">Previous</a>')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -56,7 +60,8 @@ class NewAdventuresOfBobbin(_BasicScraper):
class NewWorld(_BasicScraper): class NewWorld(_BasicScraper):
url = 'http://www.tfsnewworld.com/' url = 'http://www.tfsnewworld.com/'
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2007/08/30/63'
imageSearch = compile(r'<img src="(http://www.tfsnewworld.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.tfsnewworld.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="([^"]+)" rel="prev">') prevSearch = compile(r'<div class="nav-previous"><a href="([^"]+)" rel="prev">')
help = 'Index format: yyyy/mm/dd/stripn' help = 'Index format: yyyy/mm/dd/stripn'
@ -66,6 +71,7 @@ class Nicky510(_BasicScraper):
url = 'http://www.nickyitis.com/' url = 'http://www.nickyitis.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % 'close-enough'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%scomic/[^"]+)' % rurl, after="Previous")) prevSearch = compile(tagre("a", "href", r'(%scomic/[^"]+)' % rurl, after="Previous"))
help = 'Index format: stripname' help = 'Index format: stripname'
@ -74,6 +80,7 @@ class Nicky510(_BasicScraper):
class NekkoAndJoruba(_BasicScraper): class NekkoAndJoruba(_BasicScraper):
url = 'http://www.nekkoandjoruba.com/' url = 'http://www.nekkoandjoruba.com/'
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '7'
imageSearch = compile(r'<img src="(http://www\.nekkoandjoruba\.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www\.nekkoandjoruba\.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)">&lsaquo;</a>') prevSearch = compile(r'<a href="(.+?)">&lsaquo;</a>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -83,6 +90,7 @@ class NekoTheKitty(_BasicScraper):
url = 'http://www.nekothekitty.net/' url = 'http://www.nekothekitty.net/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comics/%s' stripUrl = url + 'comics/%s'
firstStripUrl = stripUrl % '936393/001-video-games'
starter = bounceStarter(url, compile(tagre("a", "href", r'(%scomics/[^"]+)' % rurl) + starter = bounceStarter(url, compile(tagre("a", "href", r'(%scomics/[^"]+)' % rurl) +
tagre("img", "src", r'%sfiles/smallnext\.png' % rurl))) tagre("img", "src", r'%sfiles/smallnext\.png' % rurl)))
imageSearch = compile(tagre("img", "src", r'(http://(?:img\d+|www)\.smackjeeves\.com/images/uploaded/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://(?:img\d+|www)\.smackjeeves\.com/images/uploaded/comics/[^"]+)'))
@ -125,6 +133,7 @@ class NobodyScores(_BasicScraper):
url = 'http://nobodyscores.loosenutstudio.com/' url = 'http://nobodyscores.loosenutstudio.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'index.php?id=%s' stripUrl = url + 'index.php?id=%s'
firstStripUrl = stripUrl % '4'
imageSearch = compile(tagre("img", "src", r'(%scomix/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomix/[^"]+)' % rurl))
multipleImagesPerStrip = True multipleImagesPerStrip = True
prevSearch = compile(r'<a href="(%sindex.php.+?)">the one before </a>' % rurl) prevSearch = compile(r'<a href="(%sindex.php.+?)">the one before </a>' % rurl)
@ -144,6 +153,7 @@ class NoNeedForBushido(_BasicScraper):
class Nukees(_BasicScraper): class Nukees(_BasicScraper):
url = 'http://www.nukees.com/' url = 'http://www.nukees.com/'
stripUrl = url + 'd/%s' stripUrl = url + 'd/%s'
firstStripUrl = stripUrl % '19970121'
imageSearch = compile(r'"comic".+?"(/comics/.+?)"') imageSearch = compile(r'"comic".+?"(/comics/.+?)"')
prevSearch = compile(r'"(/d/.+?)".+?previous') prevSearch = compile(r'"(/d/.+?)".+?previous')
help = 'Index format: yyyymmdd.html' help = 'Index format: yyyymmdd.html'

View file

@ -14,7 +14,8 @@ class OctopusPie(_BasicScraper):
starter = indirectStarter(url, starter = indirectStarter(url,
compile(tagre("a", "href", r'(%s[^"]+)' % rurl) + compile(tagre("a", "href", r'(%s[^"]+)' % rurl) +
tagre("img", "src", r'%sjunk/latest\.png' % rurl))) tagre("img", "src", r'%sjunk/latest\.png' % rurl)))
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2007-05-14/001-pea-wiggle'
imageSearch = compile(tagre("img", "src", r'(%sstrippy/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%sstrippy/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy-mm-dd/nnn-strip-name' help = 'Index format: yyyy-mm-dd/nnn-strip-name'
@ -24,6 +25,7 @@ class OddFish(_BasicScraper):
url = 'http://www.odd-fish.net/' url = 'http://www.odd-fish.net/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % 'tv-tentacles'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: stripname' help = 'Index format: stripname'
@ -49,6 +51,7 @@ class OkCancel(_BasicScraper):
url = 'http://okcancel.com/' url = 'http://okcancel.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comic/%s.html' stripUrl = url + 'comic/%s.html'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(%sstrips/okcancel\d{8}\.gif)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%sstrips/okcancel\d{8}\.gif)' % rurl))
prevSearch = compile(tagre("div", "class", "previous") + tagre("a", "href", r'(%scomic/\d{1,4}\.html)' % rurl)) prevSearch = compile(tagre("div", "class", "previous") + tagre("a", "href", r'(%scomic/\d{1,4}\.html)' % rurl))
starter = indirectStarter(url, prevSearch) starter = indirectStarter(url, prevSearch)
@ -58,7 +61,8 @@ class OkCancel(_BasicScraper):
class OmakeTheater(_BasicScraper): class OmakeTheater(_BasicScraper):
url = 'http://omaketheater.com/' url = 'http://omaketheater.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comic/%s' stripUrl = url + 'comic/%s/'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://media\.omaketheater\.com/4koma/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://media\.omaketheater\.com/4koma/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(%scomic/\d+/)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%scomic/\d+/)' % rurl, after="prev"))
starter = indirectStarter(url, starter = indirectStarter(url,
@ -69,7 +73,8 @@ class OmakeTheater(_BasicScraper):
class OnTheEdge(_BasicScraper): class OnTheEdge(_BasicScraper):
url = 'http://ontheedgecomics.com/' url = 'http://ontheedgecomics.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comic/%s' stripUrl = url + 'comic/%s/'
firstStripUrl = stripUrl % 'ote0001'
imageSearch = compile(r'<img src="(%scomics/.+?)"' % rurl) imageSearch = compile(r'<img src="(%scomics/.+?)"' % rurl)
prevSearch = compile(r'<a href="([^"]+)" rel="prev">') prevSearch = compile(r'<a href="([^"]+)" rel="prev">')
help = 'Index format: nnn (unpadded)' help = 'Index format: nnn (unpadded)'
@ -78,6 +83,7 @@ class OnTheEdge(_BasicScraper):
class OneQuestion(_BasicScraper): class OneQuestion(_BasicScraper):
url = 'http://onequestioncomic.com/' url = 'http://onequestioncomic.com/'
stripUrl = url + 'comic.php?strip_id=%s' stripUrl = url + 'comic.php?strip_id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'((?:\.\./)?istrip_files/strips/\d+\.jpg)')) imageSearch = compile(tagre("img", "src", r'((?:\.\./)?istrip_files/strips/\d+\.jpg)'))
prevSearch = compile(tagre("a", "href", r'(comic\.php\?strip_id=\d+)') + tagre("img", "src", r'img/arrow_prev\.jpg')) prevSearch = compile(tagre("a", "href", r'(comic\.php\?strip_id=\d+)') + tagre("img", "src", r'img/arrow_prev\.jpg'))
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -97,6 +103,7 @@ class OrnerBoy(_BasicScraper):
class OurHomePlanet(_BasicScraper): class OurHomePlanet(_BasicScraper):
url = 'http://gdk.gd-kun.net/' url = 'http://gdk.gd-kun.net/'
stripUrl = url + '%s.html' stripUrl = url + '%s.html'
firstStripUrl = stripUrl % '01'
imageSearch = compile(r'<img src="(pages/comic.+?)"') imageSearch = compile(r'<img src="(pages/comic.+?)"')
prevSearch = compile(r'coords="50,18,95,65".+?href="(.+?\.html)".+?alt=') prevSearch = compile(r'coords="50,18,95,65".+?href="(.+?\.html)".+?alt=')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -105,6 +112,7 @@ class OurHomePlanet(_BasicScraper):
class OverCompensating(_BasicScraper): class OverCompensating(_BasicScraper):
url = 'http://www.overcompensating.com/' url = 'http://www.overcompensating.com/'
stripUrl = url + 'posts/%s.html' stripUrl = url + 'posts/%s.html'
firstStripUrl = stripUrl % '20040929'
imageSearch = compile(r'<img src="(/comics/.+?)"') imageSearch = compile(r'<img src="(/comics/.+?)"')
prevSearch = compile(r'"><a href="(.+?)"[^>]+?>&nbsp;\<\- &nbsp;</a>') prevSearch = compile(r'"><a href="(.+?)"[^>]+?>&nbsp;\<\- &nbsp;</a>')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'

View file

@ -12,6 +12,7 @@ class PandyLand(_BasicScraper):
url = 'http://pandyland.net/' url = 'http://pandyland.net/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+/)' % rurl, after="prev"))
help = 'Index format: number' help = 'Index format: number'
@ -42,6 +43,7 @@ class PartiallyClips(_BasicScraper):
url = 'http://partiallyclips.com/' url = 'http://partiallyclips.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2001/10/28/screaming-woman'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -51,6 +53,7 @@ class PastelDefender(_BasicScraper):
baseurl = 'http://www.pasteldefender.com/' baseurl = 'http://www.pasteldefender.com/'
url = baseurl + 'coverbackcover.html' url = baseurl + 'coverbackcover.html'
stripUrl = baseurl + '%s.html' stripUrl = baseurl + '%s.html'
firstStripUrl = stripUrl % 'cover'
imageSearch = compile(r'<IMG SRC="(images/.+?)" WIDTH="742"') imageSearch = compile(r'<IMG SRC="(images/.+?)" WIDTH="742"')
prevSearch = compile(r'<A HREF="([^"]+)"><IMG SRC="images/back\.gif"') prevSearch = compile(r'<A HREF="([^"]+)"><IMG SRC="images/back\.gif"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -82,6 +85,7 @@ class PennyArcade(_BasicScraper):
compile(tagre("a", "href", r'(%s[^"]+)' % rurl, before="btnNext")) compile(tagre("a", "href", r'(%s[^"]+)' % rurl, before="btnNext"))
) )
stripUrl = url + '%s' stripUrl = url + '%s'
firstStripUrl = stripUrl % '1998/11/18'
imageSearch = compile(tagre("img", "src", r'(http://art\.penny-arcade\.com/photos/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://art\.penny-arcade\.com/photos/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, before="btnPrev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, before="btnPrev"))
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'
@ -96,6 +100,7 @@ class PeppermintSaga(_BasicScraper):
url = 'http://www.pepsaga.com/' url = 'http://www.pepsaga.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '3'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev"))
help = 'Index format: number' help = 'Index format: number'
@ -116,6 +121,7 @@ class PicPakDog(_BasicScraper):
url = 'http://www.picpak.net/' url = 'http://www.picpak.net/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comic/%s/' stripUrl = url + 'comic/%s/'
firstStripUrl = stripUrl % 'dogs-cant-spell'
imageSearch = compile(tagre("img", "src", r'(%swp-content/uploads/\d+/\d+/\d+-\d+-\d+-[^"]+\.png)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%swp-content/uploads/\d+/\d+/\d+-\d+-\d+-[^"]+\.png)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%scomic/[^"]+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%scomic/[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: stripname' help = 'Index format: stripname'
@ -124,9 +130,10 @@ class PicPakDog(_BasicScraper):
class Pixel(_BasicScraper): class Pixel(_BasicScraper):
url = 'http://pixelcomic.net/' url = 'http://pixelcomic.net/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s.php' stripUrl = url + '%s'
firstStripUrl = stripUrl % '000.shtml'
imageSearch = compile(tagre("img", "src", r'(\d+\.png)')) imageSearch = compile(tagre("img", "src", r'(\d+\.png)'))
prevSearch = compile(tagre("a", "href", r'(%s\d+\.php)' % rurl, before="prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+\.(?:php|shtml))' % rurl, before="prev"))
help = 'Index format: nnn' help = 'Index format: nnn'
@ -134,6 +141,7 @@ class PiledHigherAndDeeper(_BasicScraper):
url = 'http://www.phdcomics.com/comics/archive.php' url = 'http://www.phdcomics.com/comics/archive.php'
starter = bounceStarter(url, compile(r'<a href=(archive\.php\?comicid=\d+)><img height=52 width=49 src=images/next_button\.gif border=0 align=middle>')) starter = bounceStarter(url, compile(r'<a href=(archive\.php\?comicid=\d+)><img height=52 width=49 src=images/next_button\.gif border=0 align=middle>'))
stripUrl = url + '?comicid=%s' stripUrl = url + '?comicid=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://www\.phdcomics\.com/comics/archive/phd\d+s?\.gif)', quote="")) imageSearch = compile(tagre("img", "src", r'(http://www\.phdcomics\.com/comics/archive/phd\d+s?\.gif)', quote=""))
prevSearch = compile(r'<a href=(archive\.php\?comicid=\d+)><img height=52 width=49 src=images/prev_button\.gif border=0 align=middle>') prevSearch = compile(r'<a href=(archive\.php\?comicid=\d+)><img height=52 width=49 src=images/prev_button\.gif border=0 align=middle>')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -143,6 +151,7 @@ class PiledHigherAndDeeper(_BasicScraper):
class Pimpette(_BasicScraper): class Pimpette(_BasicScraper):
url = 'http://pimpette.ca/' url = 'http://pimpette.ca/'
stripUrl = url + 'index.php?date=%s' stripUrl = url + 'index.php?date=%s'
firstStripUrl = stripUrl % '20030905'
imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)') + "Previous") prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)') + "Previous")
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -189,6 +198,7 @@ class Precocious(_BasicScraper):
class ProperBarn(_BasicScraper): class ProperBarn(_BasicScraper):
url = 'http://www.nitrocosm.com/go/gag/' url = 'http://www.nitrocosm.com/go/gag/'
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://content\.nitrocosm\.com/gag/\d+\.[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://content\.nitrocosm\.com/gag/\d+\.[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.nitrocosm\.com/go/gag/\d+/)', after="nav_btn_previous")) prevSearch = compile(tagre("a", "href", r'(http://www\.nitrocosm\.com/go/gag/\d+/)', after="nav_btn_previous"))
help = 'Index format: nnn' help = 'Index format: nnn'
@ -198,6 +208,7 @@ class PunksAndNerds(_BasicScraper):
url = 'http://www.punksandnerds.com/' url = 'http://www.punksandnerds.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '15'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="navi-prev"))
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -10,6 +10,7 @@ from ..util import tagre
class QuestionableContent(_BasicScraper): class QuestionableContent(_BasicScraper):
url = 'http://www.questionablecontent.net/' url = 'http://www.questionablecontent.net/'
stripUrl = url + 'view.php?comic=%s' stripUrl = url + 'view.php?comic=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'([^"]+/comics/[^"]+)', before="strip")) imageSearch = compile(tagre("img", "src", r'([^"]+/comics/[^"]+)', before="strip"))
prevSearch = compile(tagre("a", "href", r'(view\.php\?comic=\d+)') + 'Previous') prevSearch = compile(tagre("a", "href", r'(view\.php\?comic=\d+)') + 'Previous')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -20,6 +21,7 @@ class Qwantz(_BasicScraper):
url = baseurl + 'index.php' url = baseurl + 'index.php'
rurl = escape(baseurl) rurl = escape(baseurl)
stripUrl = url + '?comic=%s' stripUrl = url + '?comic=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(%s/comics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%s/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sindex\.php\?comic=\d+)' % rurl, before="prev")) prevSearch = compile(tagre("a", "href", r'(%sindex\.php\?comic=\d+)' % rurl, before="prev"))
help = 'Index format: n' help = 'Index format: n'

View file

@ -19,6 +19,7 @@ class RadioactivePanda(_BasicScraper):
class RealLife(_BasicScraper): class RealLife(_BasicScraper):
url = 'http://www.reallifecomics.com/' url = 'http://www.reallifecomics.com/'
stripUrl = url + 'archive/%s.html' stripUrl = url + 'archive/%s.html'
firstStripUrl = stripUrl % '991115'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/archive/\d+.html)') + tagre("img", "src", r'/images/nav_prev\.png')) prevSearch = compile(tagre("a", "href", r'(/archive/\d+.html)') + tagre("img", "src", r'/images/nav_prev\.png'))
help = 'Index format: yymmdd)' help = 'Index format: yymmdd)'
@ -38,6 +39,7 @@ class RedMeat(_BasicScraper):
url = baseurl + 'current/index.html' url = baseurl + 'current/index.html'
starter = bounceStarter(url, compile(r'<a href="(\.\./\d{4}-\d{2}-\d{2}/index\.html)">next</a>')) starter = bounceStarter(url, compile(r'<a href="(\.\./\d{4}-\d{2}-\d{2}/index\.html)">next</a>'))
stripUrl = baseurl + '%s/index.html' stripUrl = baseurl + '%s/index.html'
firstStripUrl = stripUrl % '1996-06-10'
imageSearch = compile(r'<img src="(index-1\.gif)" width="\d+" height="\d+" [^>]*>') imageSearch = compile(r'<img src="(index-1\.gif)" width="\d+" height="\d+" [^>]*>')
prevSearch = compile(r'<a href="(\.\./\d{4}-\d{2}-\d{2}/index\.html)">previous</a>') prevSearch = compile(r'<a href="(\.\./\d{4}-\d{2}-\d{2}/index\.html)">previous</a>')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -50,6 +52,7 @@ class RedMeat(_BasicScraper):
class RedString(_BasicScraper): class RedString(_BasicScraper):
url = 'http://www.redstring.strawberrycomics.com/' url = 'http://www.redstring.strawberrycomics.com/'
stripUrl = url + 'index.php?id=%s' stripUrl = url + 'index.php?id=%s'
firstStripUrl = stripUrl % '434'
imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/index\.php\?id=\d+)', after="prev")) prevSearch = compile(tagre("a", "href", r'(/index\.php\?id=\d+)', after="prev"))
help = 'Index format: nnn' help = 'Index format: nnn'
@ -58,6 +61,7 @@ class RedString(_BasicScraper):
class Roza(_BasicScraper): class Roza(_BasicScraper):
url = 'http://www.junglestudio.com/roza/index.php' url = 'http://www.junglestudio.com/roza/index.php'
stripUrl = url + '?date=%s' stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '2007-05-01'
imageSearch = compile(r'<img src="(pages/.+?)"') imageSearch = compile(r'<img src="(pages/.+?)"')
prevSearch = compile(r'<a href="(index.php\?date=.+?)">[^>].+?navtable_01.gif') prevSearch = compile(r'<a href="(index.php\?date=.+?)">[^>].+?navtable_01.gif')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'

View file

@ -13,6 +13,7 @@ class SailorsunOrg(_BasicScraper):
url = 'http://sailorsun.org/' url = 'http://sailorsun.org/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '21'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
rurl = escape(url) rurl = escape(url)
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev"))
@ -22,6 +23,7 @@ class SailorsunOrg(_BasicScraper):
class SamAndFuzzy(_BasicScraper): class SamAndFuzzy(_BasicScraper):
url = 'http://www.samandfuzzy.com/' url = 'http://www.samandfuzzy.com/'
stripUrl = 'http://samandfuzzy.com/%s' stripUrl = 'http://samandfuzzy.com/%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'(/comics/.+?)" alt') imageSearch = compile(r'(/comics/.+?)" alt')
prevSearch = compile(r'"><a href="(.+?)"><img src="imgint/nav_prev.gif"') prevSearch = compile(r'"><a href="(.+?)"><img src="imgint/nav_prev.gif"')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -51,6 +53,7 @@ class SandraAndWooGerman(_BasicScraper):
class ScaryGoRound(_BasicScraper): class ScaryGoRound(_BasicScraper):
url = 'http://www.scarygoround.com/' url = 'http://www.scarygoround.com/'
stripUrl = url + '?date=%s' stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '20090918'
imageSearch = compile(tagre("img", "src", r'(strips/\d+\.png)')) imageSearch = compile(tagre("img", "src", r'(strips/\d+\.png)'))
prevSearch = compile(tagre("a", "href", r'(\?date=\d+)') + "Previous") prevSearch = compile(tagre("a", "href", r'(\?date=\d+)') + "Previous")
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -60,6 +63,7 @@ class ScenesFromAMultiverse(_BasicScraper):
url = 'http://amultiverse.com/' url = 'http://amultiverse.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2010/06/14/parenthood'
imageSearch = compile(tagre("img", "src", r'(%sfiles/comics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%sfiles/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+\d+/\d+/\d+/[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+\d+/\d+/\d+/[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -68,6 +72,7 @@ class ScenesFromAMultiverse(_BasicScraper):
class SchlockMercenary(_BasicScraper): class SchlockMercenary(_BasicScraper):
url = 'http://www.schlockmercenary.com/' url = 'http://www.schlockmercenary.com/'
stripUrl = url + '%s' stripUrl = url + '%s'
firstStripUrl = stripUrl % '2000-06-12'
imageSearch = compile(tagre("img", "src", r'(http://static\.schlockmercenary\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://static\.schlockmercenary\.com/comics/[^"]+)'))
multipleImagesPerStrip = True multipleImagesPerStrip = True
prevSearch = compile(tagre("a", "href", r'(/\d+-\d+-\d+)', quote="'", after="nav-previous")) prevSearch = compile(tagre("a", "href", r'(/\d+-\d+-\d+)', quote="'", after="nav-previous"))
@ -85,7 +90,8 @@ class SchoolBites(_BasicScraper):
class Schuelert(_BasicScraper): class Schuelert(_BasicScraper):
url = 'http://www.schuelert.de/' url = 'http://www.schuelert.de/'
rurl = escape(url) rurl = escape(url)
stripUrl = None stripUrl = url + 'index.php?paged=%s'
firstStripUrl = stripUrl % '5'
imageSearch = compile(tagre("img", "src", r"(%swp-content/[^']+)" % rurl, quote="'")) imageSearch = compile(tagre("img", "src", r"(%swp-content/[^']+)" % rurl, quote="'"))
prevSearch = compile(tagre("a", "href", r'(%sindex\.php\?paged=\d+)' % rurl) + "&laquo;") prevSearch = compile(tagre("a", "href", r'(%sindex\.php\?paged=\d+)' % rurl) + "&laquo;")
multipleImagesPerStrip = True multipleImagesPerStrip = True
@ -107,6 +113,7 @@ class Science(_BasicScraper):
class SequentialArt(_BasicScraper): class SequentialArt(_BasicScraper):
url = 'http://www.collectedcurios.com/sequentialart.php' url = 'http://www.collectedcurios.com/sequentialart.php'
stripUrl = url + '?s=%s' stripUrl = url + '?s=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'([^"]+)', before="strip")) imageSearch = compile(tagre("img", "src", r'([^"]+)', before="strip"))
prevSearch = compile(tagre("a", "href", r'(/sequentialart\.php\?s=\d+)') prevSearch = compile(tagre("a", "href", r'(/sequentialart\.php\?s=\d+)')
+ tagre("img", "src", "Nav_BackOne\.gif")) + tagre("img", "src", "Nav_BackOne\.gif"))
@ -133,6 +140,7 @@ class SexyLosers(_BasicScraper):
class ShadowGirls(_BasicScraper): class ShadowGirls(_BasicScraper):
url = 'http://www.shadowgirlscomic.com/' url = 'http://www.shadowgirlscomic.com/'
stripUrl = url + 'comics/%s' stripUrl = url + 'comics/%s'
firstStripUrl = stripUrl % 'book-1/chapter-1-broken-dreams/welcome'
imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]*)')) imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]*)'))
prevSearch = compile(tagre("a", "href", r'([^"]*)', after='navi-prev')) prevSearch = compile(tagre("a", "href", r'([^"]*)', after='navi-prev'))
help = 'Index format: custom' help = 'Index format: custom'
@ -142,6 +150,7 @@ class ShadowGirls(_BasicScraper):
class Sheldon(_BasicScraper): class Sheldon(_BasicScraper):
url = 'http://www.sheldoncomics.com/' url = 'http://www.sheldoncomics.com/'
stripUrl = url + 'archive/%s.html' stripUrl = url + 'archive/%s.html'
firstStripUrl = stripUrl % '011130'
imageSearch = compile(tagre("img", "src", r'(/strips/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/archive/\d+\.html)', after="sidenav-prev")) prevSearch = compile(tagre("a", "href", r'(/archive/\d+\.html)', after="sidenav-prev"))
help = 'Index format: yymmdd' help = 'Index format: yymmdd'
@ -151,6 +160,7 @@ class Shivae(_BasicScraper):
url = 'http://shivae.net/' url = 'http://shivae.net/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'blog/%s/' stripUrl = url + 'blog/%s/'
firstStripUrl = stripUrl % '2007/09/21/09212007'
imageSearch = compile(tagre("img", "src", r'(%sfiles/comics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%sfiles/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sblog/[^"]+)' % rurl, after="Previous")) prevSearch = compile(tagre("a", "href", r'(%sblog/[^"]+)' % rurl, after="Previous"))
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -200,6 +210,7 @@ class SlightlyDamned(_BasicScraper):
url = 'http://www.sdamned.com/' url = 'http://www.sdamned.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2004/03/03142004'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/number' help = 'Index format: yyyy/mm/number'
@ -216,6 +227,7 @@ class SluggyFreelance(_BasicScraper):
class SMBC(_BasicScraper): class SMBC(_BasicScraper):
url = 'http://www.smbc-comics.com/' url = 'http://www.smbc-comics.com/'
stripUrl = url + 'index.php?db=comics&id=%s' stripUrl = url + 'index.php?db=comics&id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'<img src=\'(.+?\d{8}.\w{1,4})\'>') imageSearch = compile(r'<img src=\'(.+?\d{8}.\w{1,4})\'>')
prevSearch = compile(r'131,13,216,84"\n\s+href="(.+?)#comic"\n>', MULTILINE) prevSearch = compile(r'131,13,216,84"\n\s+href="(.+?)#comic"\n>', MULTILINE)
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -289,6 +301,7 @@ class SodiumEyes(_BasicScraper):
url = 'http://sodiumeyes.com/' url = 'http://sodiumeyes.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2007/11/08/damning-evidence'
imageSearch = compile(tagre("img", "src", r'(%scomic/[^ ]+)' % rurl, quote="")) imageSearch = compile(tagre("img", "src", r'(%scomic/[^ ]+)' % rurl, quote=""))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -308,6 +321,7 @@ class SpaceTrawler(_BasicScraper):
url = 'http://spacetrawler.com/' url = 'http://spacetrawler.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2010/01/01/spacetrawler-4'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="navi-prev"))
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -327,6 +341,7 @@ class SpareParts(_BasicScraper):
baseUrl = 'http://www.sparepartscomics.com/' baseUrl = 'http://www.sparepartscomics.com/'
url = baseUrl + 'comics/?date=20080328' url = baseUrl + 'comics/?date=20080328'
stripUrl = baseUrl + 'comics/index.php?date=%s' stripUrl = baseUrl + 'comics/index.php?date=%s'
firstStripUrl = stripUrl % '20031022'
imageSearch = compile(tagre("img", "src", r'(http://www\.sparepartscomics\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.sparepartscomics\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)', quote="'") + "Previous Comic") prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)', quote="'") + "Previous Comic")
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -336,6 +351,7 @@ class Spinnerette(_BasicScraper):
url = 'http://www.spinnyverse.com/' url = 'http://www.spinnyverse.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2010/02/09/02092010'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, before="Previous Comic")) prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, before="Previous Comic"))
help = 'Index format: number' help = 'Index format: number'
@ -345,6 +361,7 @@ class SPQRBlues(_BasicScraper):
url = 'http://spqrblues.com/IV/' url = 'http://spqrblues.com/IV/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '1467'
imageSearch = compile(tagre("img", "src", r'(%scomics/\d+\.png)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/\d+\.png)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev"))
help = 'Index format: number' help = 'Index format: number'
@ -364,6 +381,7 @@ class _StationV3(_BasicScraper):
class StickyDillyBuns(_BasicScraper): class StickyDillyBuns(_BasicScraper):
url = 'http://www.stickydillybuns.com/' url = 'http://www.stickydillybuns.com/'
stripUrl = url + 'strips-sdb/%s' stripUrl = url + 'strips-sdb/%s'
firstStripUrl = stripUrl % 'awesome_leading_man'
imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]*/strips-sdb/[^"]+)', before="cn[id]prev")) prevSearch = compile(tagre("a", "href", r'([^"]*/strips-sdb/[^"]+)', before="cn[id]prev"))
help = 'Index format: name' help = 'Index format: name'
@ -373,6 +391,7 @@ class Stubble(_BasicScraper):
url = 'http://stubblecomics.com/' url = 'http://stubblecomics.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '4'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="navi-prev")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="navi-prev"))
help = 'Index format: number' help = 'Index format: number'
@ -441,10 +460,13 @@ class SomethingPositive(_BasicScraper):
class StarCrossdDestiny(_BasicScraper): class StarCrossdDestiny(_BasicScraper):
url = 'http://www.starcrossd.net/comic.html' baseurl = 'http://www.starcrossd.net/'
stripUrl = 'http://www.starcrossd.net/archives/%s.html' rurl = escape(baseurl)
imageSearch = compile(tagre("img", "src", r'(http://www\.starcrossd\.net/(?:ch1|strips|book2)/[^"]+)')) url = baseurl + 'comic.html'
prevSearch = compile(r'<a href="(http://www\.starcrossd\.net/(?:ch1/)?archives/\d+\.html)"[^>]*"[^"]*"[^>]*>prev', IGNORECASE) stripUrl = baseurl + 'archives/%s.html'
firstStripUrl = stripUrl % '00000001'
imageSearch = compile(tagre("img", "src", r'(%s(?:ch1|strips|book2)/[^"]+)' % rurl))
prevSearch = compile(r'<a href="(%s(?:ch1/)?archives/\d+\.html)"[^>]*"[^"]*"[^>]*>prev' % rurl, IGNORECASE)
help = 'Index format: nnnnnnnn' help = 'Index format: nnnnnnnn'
@classmethod @classmethod
@ -472,6 +494,7 @@ class SupernormalStep(_BasicScraper):
url = 'http://supernormalstep.com/' url = 'http://supernormalstep.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '?p=%s' stripUrl = url + '?p=%s'
firstStripUrl = stripUrl % '8'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\?p=\d+)' % rurl, after="prev"))
help = 'Index format: number' help = 'Index format: number'

View file

@ -10,7 +10,8 @@ from ..util import tagre
class TheBrads(_BasicScraper): class TheBrads(_BasicScraper):
url = 'http://bradcolbow.com/archive/C4/' url = 'http://bradcolbow.com/archive/C4/'
stripUrl = url + '%s' stripUrl = url + '%s/'
firstStripUrl = stripUrl % 'P125'
imageSearch = compile(tagre("img", "src", r'(http://s3\.amazonaws\.com/the_brads/the-?brads[-_][^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://s3\.amazonaws\.com/the_brads/the-?brads[-_][^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://bradcolbow\.com/archive/C4/[^"]+)', before="prev")) prevSearch = compile(tagre("a", "href", r'(http://bradcolbow\.com/archive/C4/[^"]+)', before="prev"))
multipleImagesPerStrip = True multipleImagesPerStrip = True
@ -20,6 +21,7 @@ class TheBrads(_BasicScraper):
class TheDevilsPanties(_BasicScraper): class TheDevilsPanties(_BasicScraper):
url = 'http://thedevilspanties.com/' url = 'http://thedevilspanties.com/'
stripUrl = url + 'archives/%s' stripUrl = url + 'archives/%s'
firstStripUrl = stripUrl % '300'
imageSearch = compile(tagre("img", "src", r'(http://cdn\.thedevilspanties\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://cdn\.thedevilspanties\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/archives/\d+)', after="Previous")) prevSearch = compile(tagre("a", "href", r'(/archives/\d+)', after="Previous"))
help = 'Index format: number' help = 'Index format: number'
@ -28,6 +30,7 @@ class TheDevilsPanties(_BasicScraper):
class TheNoob(_BasicScraper): class TheNoob(_BasicScraper):
url = 'http://www.thenoobcomic.com/index.php' url = 'http://www.thenoobcomic.com/index.php'
stripUrl = url + '?pos=%s' stripUrl = url + '?pos=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(/headquarters/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/headquarters/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?pos=\d+)', before="comic_nav_previous_button")) prevSearch = compile(tagre("a", "href", r'(\?pos=\d+)', before="comic_nav_previous_button"))
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -37,6 +40,7 @@ class TheOrderOfTheStick(_BasicScraper):
baseurl = 'http://www.giantitp.com/' baseurl = 'http://www.giantitp.com/'
url = baseurl + 'comics/oots0863.html' url = baseurl + 'comics/oots0863.html'
stripUrl = baseurl + 'comics/oots%s.html' stripUrl = baseurl + 'comics/oots%s.html'
firstStripUrl = stripUrl % '0001'
imageSearch = compile(r'<IMG src="(/comics/images/[^"]+)">') imageSearch = compile(r'<IMG src="(/comics/images/[^"]+)">')
prevSearch = compile(r'<A href="(/comics/oots\d{4}\.html)"><IMG src="/Images/redesign/ComicNav_Back.gif"') prevSearch = compile(r'<A href="(/comics/oots\d{4}\.html)"><IMG src="/Images/redesign/ComicNav_Back.gif"')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -51,6 +55,7 @@ class TheParkingLotIsFull(_BasicScraper):
baseurl = 'http://plif.courageunfettered.com/' baseurl = 'http://plif.courageunfettered.com/'
url = baseurl + 'archive/arch2002.htm' url = baseurl + 'archive/arch2002.htm'
stripUrl = baseurl + 'archive/arch%s.htm' stripUrl = baseurl + 'archive/arch%s.htm'
firstStripUrl = stripUrl % '1998'
imageSearch = compile(r'<td align="center"><A TARGET=_parent HREF="(wc\d+\..+?)">') imageSearch = compile(r'<td align="center"><A TARGET=_parent HREF="(wc\d+\..+?)">')
multipleImagesPerStrip = True multipleImagesPerStrip = True
prevSearch = compile(r'\d{4} -\s+<A HREF="(arch\d{4}\.htm)">\d{4}') prevSearch = compile(r'\d{4} -\s+<A HREF="(arch\d{4}\.htm)">\d{4}')
@ -60,6 +65,7 @@ class TheParkingLotIsFull(_BasicScraper):
class TheWotch(_BasicScraper): class TheWotch(_BasicScraper):
url = 'http://www.thewotch.com/' url = 'http://www.thewotch.com/'
stripUrl = url + '?date=%s' stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '2002-11-21'
imageSearch = compile(r"<img.+?src='(comics/.+?)'") imageSearch = compile(r"<img.+?src='(comics/.+?)'")
prevSearch = compile(r"<link rel='Previous' href='(/\?date=\d+-\d+-\d+)'") prevSearch = compile(r"<link rel='Previous' href='(/\?date=\d+-\d+-\d+)'")
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -93,6 +99,7 @@ class TinyKittenTeeth(_BasicScraper):
url = 'http://www.tinykittenteeth.com/' url = 'http://www.tinykittenteeth.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2009/01/26/gene-kelly'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after="Previous")) prevSearch = compile(tagre("a", "href", r'([^"]+)', after="Previous"))
help = 'Index format: yyyy/mm/dd/stripname (unpadded)' help = 'Index format: yyyy/mm/dd/stripname (unpadded)'
@ -102,6 +109,7 @@ class ToonHole(_BasicScraper):
url = 'http://www.toonhole.com/' url = 'http://www.toonhole.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2009/12/toon-hole-coming-soon-2010'
imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/stripname' help = 'Index format: yyyy/mm/stripname'
@ -123,6 +131,7 @@ class TwoTwoOneFour(_BasicScraper):
url = 'http://www.nitrocosm.com/go/2214_classic/' url = 'http://www.nitrocosm.com/go/2214_classic/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://content\.nitrocosm\.com/[^"]+)', before="gallery_display")) imageSearch = compile(tagre("img", "src", r'(http://content\.nitrocosm\.com/[^"]+)', before="gallery_display"))
prevSearch = compile(tagre("a", "href", r'(%s\d+/)' % rurl, after="Previous")) prevSearch = compile(tagre("a", "href", r'(%s\d+/)' % rurl, after="Previous"))
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -151,6 +160,7 @@ class TheOuterQuarter(_BasicScraper):
url = 'http://theouterquarter.com/' url = 'http://theouterquarter.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comic/%s' stripUrl = url + 'comic/%s'
firstStripUrl = stripUrl % 'oq-the-first-take/4'
imageSearch = compile(r'<img src="(%scomics/.+?)"' % rurl) imageSearch = compile(r'<img src="(%scomics/.+?)"' % rurl)
prevSearch = compile(r'<div class="nav-previous"><a href="([^"]+)" rel="prev">') prevSearch = compile(r'<div class="nav-previous"><a href="([^"]+)" rel="prev">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -160,6 +170,7 @@ class ThreePanelSoul(_BasicScraper):
url = 'http://threepanelsoul.com/' url = 'http://threepanelsoul.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2006/05/11/a-test-comic'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'

View file

@ -20,8 +20,10 @@ class Undertow(_BasicScraper):
class UnicornJelly(_BasicScraper): class UnicornJelly(_BasicScraper):
url = 'http://unicornjelly.com/uni666.html' baseurl = 'http://unicornjelly.com/'
stripUrl = 'http://unicornjelly.com/uni%s.html' url = baseurl + 'uni666.html'
stripUrl = baseurl + 'uni%s.html'
firstStripUrl = stripUrl % '001'
imageSearch = compile(r'</TABLE>(?:<FONT COLOR="BLACK">)?<IMG SRC="(images/[^"]+)" WIDTH=') imageSearch = compile(r'</TABLE>(?:<FONT COLOR="BLACK">)?<IMG SRC="(images/[^"]+)" WIDTH=')
prevSearch = compile(r'<A HREF="(uni\d{3}[bcs]?\.html)">(<FONT COLOR="BLACK">)?<IMG SRC="images/back00\.gif"') prevSearch = compile(r'<A HREF="(uni\d{3}[bcs]?\.html)">(<FONT COLOR="BLACK">)?<IMG SRC="images/back00\.gif"')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -11,6 +11,7 @@ from ..util import tagre
class VampireCheerleaders(_BasicScraper): class VampireCheerleaders(_BasicScraper):
url = 'http://www.vampirecheerleaders.net/' url = 'http://www.vampirecheerleaders.net/'
stripUrl = url + 'strips-vc/%s' stripUrl = url + 'strips-vc/%s'
firstStripUrl = stripUrl % 'fang_service'
imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.vampirecheerleaders\.net/strips-vc/[^"]+)', before="cndprev")) prevSearch = compile(tagre("a", "href", r'(http://www\.vampirecheerleaders\.net/strips-vc/[^"]+)', before="cndprev"))
help = 'Index format: name' help = 'Index format: name'
@ -28,6 +29,7 @@ class Vendetta(_BasicScraper):
class VGCats(_BasicScraper): class VGCats(_BasicScraper):
url = 'http://www.vgcats.com/comics/' url = 'http://www.vgcats.com/comics/'
stripUrl = url + '?strip_id=%s' stripUrl = url + '?strip_id=%s'
firstStripUrl = stripUrl % '0'
imageSearch = compile(tagre("img", "src", r'(images/\d{6}\.[^"]+)')) imageSearch = compile(tagre("img", "src", r'(images/\d{6}\.[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') +
tagre("img", "src", r"back\.gif")) tagre("img", "src", r"back\.gif"))
@ -49,6 +51,7 @@ class VGCatsAdventure(VGCats):
class VictimsOfTheSystem(_BasicScraper): class VictimsOfTheSystem(_BasicScraper):
url = 'http://www.votscomic.com/' url = 'http://www.votscomic.com/'
stripUrl = url + '?id=%s.jpg' stripUrl = url + '?id=%s.jpg'
firstStripUrl = stripUrl % '070103-002452'
imageSearch = compile(tagre("img", "src", r'(comicpro/strips/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(comicpro/strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?id=\d+-\d+\.jpg)') + "Previous") prevSearch = compile(tagre("a", "href", r'(\?id=\d+-\d+\.jpg)') + "Previous")
help = 'Index format: nnn-nnn' help = 'Index format: nnn-nnn'

View file

@ -12,7 +12,8 @@ from ..helpers import indirectStarter
class WapsiSquare(_BasicScraper): class WapsiSquare(_BasicScraper):
url = 'http://wapsisquare.com/' url = 'http://wapsisquare.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + 'comic/%s' stripUrl = url + 'comic/%s/'
firstStripUrl = stripUrl % '09092001'
imageSearch = compile(r'<img src="(%scomics/.+?)"' % rurl) imageSearch = compile(r'<img src="(%scomics/.+?)"' % rurl)
prevSearch = compile(r'<a href="(.+?)"[^>]+?>Previous</a>') prevSearch = compile(r'<a href="(.+?)"[^>]+?>Previous</a>')
help = 'Index format: stripname' help = 'Index format: stripname'
@ -21,6 +22,7 @@ class WapsiSquare(_BasicScraper):
class WastedTalent(_BasicScraper): class WastedTalent(_BasicScraper):
url = 'http://www.wastedtalent.ca/' url = 'http://www.wastedtalent.ca/'
stripUrl = url + 'comic/%s' stripUrl = url + 'comic/%s'
firstStripUrl = stripUrl % 'anime-crack'
imageSearch = compile(tagre("img", "src", r'(http://www\.wastedtalent\.ca/sites/default/files/imagecache/comic_full/comics/\d+/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.wastedtalent\.ca/sites/default/files/imagecache/comic_full/comics/\d+/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/comic/[^"]+)', after="comic_prev")) prevSearch = compile(tagre("a", "href", r'(/comic/[^"]+)', after="comic_prev"))
help = 'Index format: stripname' help = 'Index format: stripname'
@ -29,6 +31,7 @@ class WastedTalent(_BasicScraper):
class WayfarersMoon(_BasicScraper): class WayfarersMoon(_BasicScraper):
url = 'http://www.wayfarersmoon.com/' url = 'http://www.wayfarersmoon.com/'
stripUrl = url + 'index.php?page=%s' stripUrl = url + 'index.php?page=%s'
firstStripUrl = stripUrl % '0'
imageSearch = compile(r'<img src="(/admin.+?)"') imageSearch = compile(r'<img src="(/admin.+?)"')
prevSearch = compile(r'<a href="(.+?)".+?btn_back.gif') prevSearch = compile(r'<a href="(.+?)".+?btn_back.gif')
help = 'Index format: nn' help = 'Index format: nn'
@ -84,6 +87,7 @@ class WhiteNoise(_BasicScraper):
baseurl = 'http://www.wncomic.com/' baseurl = 'http://www.wncomic.com/'
url = baseurl + 'archive.php' url = baseurl + 'archive.php'
stripUrl = baseurl + 'archive_comments.php?strip_id=%s' stripUrl = baseurl + 'archive_comments.php?strip_id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'(istrip_files/strips/.+?)"') imageSearch = compile(r'(istrip_files/strips/.+?)"')
prevSearch = compile(r'</a><a href="(.+?)"><img src="images/top_back.jpg" ') prevSearch = compile(r'</a><a href="(.+?)"><img src="images/top_back.jpg" ')
help = 'Index format: n' help = 'Index format: n'
@ -94,6 +98,7 @@ class WhyTheLongFace(_BasicScraper):
rurl = escape(baseurl) rurl = escape(baseurl)
url = baseurl + 'wtlf200709.html' url = baseurl + 'wtlf200709.html'
stripUrl = baseurl + 'wtlf%s.html' stripUrl = baseurl + 'wtlf%s.html'
firstStripUrl = stripUrl % '200306'
imageSearch = compile(r'<img src="(%swtlf.+?|lf\d+.\w{1,4})"' % rurl, IGNORECASE) imageSearch = compile(r'<img src="(%swtlf.+?|lf\d+.\w{1,4})"' % rurl, IGNORECASE)
multipleImagesPerStrip = True multipleImagesPerStrip = True
prevSearch = compile(r'HREF="(.+?)"><IMG SRC="nprev.gif" ') prevSearch = compile(r'HREF="(.+?)"><IMG SRC="nprev.gif" ')
@ -103,6 +108,7 @@ class WhyTheLongFace(_BasicScraper):
class Wigu(_BasicScraper): class Wigu(_BasicScraper):
url = 'http://wigucomics.com/' url = 'http://wigucomics.com/'
stripUrl = url + 'adventures/index.php?comic=%s' stripUrl = url + 'adventures/index.php?comic=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(/adventures/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/adventures/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/adventures/index\.php\?comic=\d+)', after="go back")) prevSearch = compile(tagre("a", "href", r'(/adventures/index\.php\?comic=\d+)', after="go back"))
help = 'Index format: n' help = 'Index format: n'
@ -112,6 +118,7 @@ class Wonderella(_BasicScraper):
url = 'http://nonadventures.com/' url = 'http://nonadventures.com/'
rurl = escape(url) rurl = escape(url)
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2006/09/09/the-torment-of-a-thousand-yesterdays'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)) imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev")) prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -120,6 +127,7 @@ class Wonderella(_BasicScraper):
class Wondermark(_BasicScraper): class Wondermark(_BasicScraper):
url = 'http://wondermark.com/' url = 'http://wondermark.com/'
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '001'
imageSearch = compile(r'<img src="(http://wondermark.com/c/.+?)"') imageSearch = compile(r'<img src="(http://wondermark.com/c/.+?)"')
prevSearch = compile(r'<a href="(.+?)" rel="prev">') prevSearch = compile(r'<a href="(.+?)" rel="prev">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -199,6 +207,7 @@ class WormWorldSagaFrench(WormWorldSaga):
class WotNow(_BasicScraper): class WotNow(_BasicScraper):
url = 'http://shadowburn.binmode.com/wotnow/' url = 'http://shadowburn.binmode.com/wotnow/'
stripUrl = url + 'comic.php?comic_id=%s' stripUrl = url + 'comic.php?comic_id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(r'<IMG SRC="(comics/.+?)"') imageSearch = compile(r'<IMG SRC="(comics/.+?)"')
prevSearch = compile(r'<A HREF="(.+?)"><IMG SRC="images/b_prev.gif" ') prevSearch = compile(r'<A HREF="(.+?)"><IMG SRC="images/b_prev.gif" ')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'

View file

@ -13,6 +13,7 @@ class xkcd(_BasicScraper):
url = 'http://xkcd.com/' url = 'http://xkcd.com/'
starter = bounceStarter(url, compile(tagre("a", "href", r'(/\d+/)', before="next"))) starter = bounceStarter(url, compile(tagre("a", "href", r'(/\d+/)', before="next")))
stripUrl = url + '%s/' stripUrl = url + '%s/'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://imgs\.xkcd\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://imgs\.xkcd\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(/\d+/)', before="prev")) prevSearch = compile(tagre("a", "href", r'(/\d+/)', before="prev"))
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'

View file

@ -10,6 +10,7 @@ from ..util import tagre
class YAFGC(_BasicScraper): class YAFGC(_BasicScraper):
url = 'http://yafgc.net/' url = 'http://yafgc.net/'
stripUrl = url + '?id=%s' stripUrl = url + '?id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(http://(?:www\.)?yafgc\.net/img/comic/\d+\.jpg)')) imageSearch = compile(tagre("img", "src", r'(http://(?:www\.)?yafgc\.net/img/comic/\d+\.jpg)'))
prevSearch = compile(tagre("a", "href", r'(http://(?:www\.)?yafgc\.net/\?id=\d+)') + prevSearch = compile(tagre("a", "href", r'(http://(?:www\.)?yafgc\.net/\?id=\d+)') +
tagre("img", "src", r'/img/navbar/go_to_previous\.gif')) tagre("img", "src", r'/img/navbar/go_to_previous\.gif'))

View file

@ -22,6 +22,7 @@ class Zapiro(_BasicScraper):
starter = bounceStarter(url, starter = bounceStarter(url,
compile(tagre("a", "href", r'(http://mg\.co\.za/cartoon/[^"]+)')+"Newer")) compile(tagre("a", "href", r'(http://mg\.co\.za/cartoon/[^"]+)')+"Newer"))
stripUrl = 'http://mg.co.za/cartoon/%s' stripUrl = 'http://mg.co.za/cartoon/%s'
firstStripUrl = stripUrl % 'zapiro_681'
imageSearch = compile(tagre("img", "src", r'(http://cdn\.mg\.co\.za/crop/content/cartoons/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://cdn\.mg\.co\.za/crop/content/cartoons/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://mg\.co\.za/cartoon/[^"]+)')+"Older") prevSearch = compile(tagre("a", "href", r'(http://mg\.co\.za/cartoon/[^"]+)')+"Older")
help = 'Index format: yyyy-mm-dd-stripname' help = 'Index format: yyyy-mm-dd-stripname'
@ -35,6 +36,7 @@ class Zapiro(_BasicScraper):
class ZebraGirl(_BasicScraper): class ZebraGirl(_BasicScraper):
url = 'http://www.zebragirl.net/' url = 'http://www.zebragirl.net/'
stripUrl = url + '?date=%s' stripUrl = url + '?date=%s'
firstStripUrl = stripUrl % '2000-05-06'
imageSearch = compile(tagre("img", "src", r"(comics/[^']+)", quote="'")) imageSearch = compile(tagre("img", "src", r"(comics/[^']+)", quote="'"))
prevSearch = compile(tagre("link", "href", r"(/\?date=[^']+)", quote="'", before='Previous')) prevSearch = compile(tagre("link", "href", r"(/\?date=[^']+)", quote="'", before='Previous'))
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -54,6 +56,7 @@ class ZenPencils(_BasicScraper):
class ZombieHunters(_BasicScraper): class ZombieHunters(_BasicScraper):
url = 'http://www.thezombiehunters.com/' url = 'http://www.thezombiehunters.com/'
stripUrl = url + '?strip_id=%s' stripUrl = url + '?strip_id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(/istrip_files/strips/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(/istrip_files/strips/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + tagre("img", "id", "prevcomic")) prevSearch = compile(tagre("a", "href", r'(\?strip_id=\d+)') + tagre("img", "id", "prevcomic"))
help = 'Index format: n(unpadded)' help = 'Index format: n(unpadded)'