Rename imageUrl to stripUrl.

This commit is contained in:
Bastian Kleineidam 2012-11-13 19:10:19 +01:00
parent e4600df1bd
commit 5006ed7f40
31 changed files with 344 additions and 346 deletions

View file

@ -8,7 +8,7 @@ from ..helpers import regexNamer, bounceStarter, indirectStarter
class ALessonIsLearned(_BasicScraper): class ALessonIsLearned(_BasicScraper):
latestUrl = 'http://www.alessonislearned.com/' latestUrl = 'http://www.alessonislearned.com/'
imageUrl = 'http://www.alessonislearned.com/lesson%s.html' stripUrl = 'http://www.alessonislearned.com/lesson%s.html'
imageSearch = compile(tagre("img", "src", r"(cmx/lesson\d+\.[a-z]+)")) imageSearch = compile(tagre("img", "src", r"(cmx/lesson\d+\.[a-z]+)"))
prevSearch = compile(tagre("a", "href", r"(index\.php\?comic=\d+)", quote="'")+r"[^>]+previous") prevSearch = compile(tagre("a", "href", r"(index\.php\?comic=\d+)", quote="'")+r"[^>]+previous")
help = 'Index format: nnn' help = 'Index format: nnn'
@ -16,7 +16,7 @@ class ALessonIsLearned(_BasicScraper):
class ASofterWorld(_BasicScraper): class ASofterWorld(_BasicScraper):
latestUrl = 'http://www.asofterworld.com/' latestUrl = 'http://www.asofterworld.com/'
imageUrl = 'http://www.asofterworld.com/index.php?id=%s' stripUrl = 'http://www.asofterworld.com/index.php?id=%s'
imageSearch = compile(tagre("img", "src", r'(http://www\.asofterworld\.com/clean/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.asofterworld\.com/clean/[^"]+)'))
prevSearch = compile(tagre("a", "href", "(index\.php\?id=\d+)")+'< back') prevSearch = compile(tagre("a", "href", "(index\.php\?id=\d+)")+'< back')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -24,7 +24,7 @@ class ASofterWorld(_BasicScraper):
class AbleAndBaker(_BasicScraper): class AbleAndBaker(_BasicScraper):
latestUrl = 'http://www.jimburgessdesign.com/comics/index.php' latestUrl = 'http://www.jimburgessdesign.com/comics/index.php'
imageUrl = 'http://www.jimburgessdesign.com/comics/index.php?comic=%s' stripUrl = 'http://www.jimburgessdesign.com/comics/index.php?comic=%s'
imageSearch = compile(tagre('img', 'src', r'(comics/.+)')) imageSearch = compile(tagre('img', 'src', r'(comics/.+)'))
prevSearch = compile(tagre('a', 'href', r'(.+\d+)') + '.+?previous.gif') prevSearch = compile(tagre('a', 'href', r'(.+\d+)') + '.+?previous.gif')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -32,7 +32,7 @@ class AbleAndBaker(_BasicScraper):
class AbominableCharlesChristopher(_BasicScraper): class AbominableCharlesChristopher(_BasicScraper):
latestUrl = 'http://abominable.cc/' latestUrl = 'http://abominable.cc/'
imageUrl = 'http://abominable.cc/%s' stripUrl = 'http://abominable.cc/%s'
imageSearch = compile(tagre("img", "src", r'(http://www\.abominable\.cc/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.abominable\.cc/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)')+"[^<]+Previous") prevSearch = compile(tagre("a", "href", r'([^"]+)')+"[^<]+Previous")
help = 'Index format: yyyy/mm/dd/comicname' help = 'Index format: yyyy/mm/dd/comicname'
@ -40,7 +40,7 @@ class AbominableCharlesChristopher(_BasicScraper):
class AbsurdNotions(_BasicScraper): class AbsurdNotions(_BasicScraper):
latestUrl = 'http://www.absurdnotions.org/page129.html' latestUrl = 'http://www.absurdnotions.org/page129.html'
imageUrl = 'http://www.absurdnotions.org/page%s.html' stripUrl = 'http://www.absurdnotions.org/page%s.html'
imageSearch = compile(tagre('img', 'src', r'(an[^"]+)')) imageSearch = compile(tagre('img', 'src', r'(an[^"]+)'))
prevSearch = compile(tagre('a', 'href', r'([^"]+)') + tagre('img', 'src', 'nprev\.gif')) prevSearch = compile(tagre('a', 'href', r'([^"]+)') + tagre('img', 'src', 'nprev\.gif'))
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -49,7 +49,7 @@ class AbsurdNotions(_BasicScraper):
class AbstruseGoose(_BasicScraper): class AbstruseGoose(_BasicScraper):
starter = bounceStarter('http://abstrusegoose.com/', starter = bounceStarter('http://abstrusegoose.com/',
compile(tagre('a', 'href', r'(http://abstrusegoose\.com/\d+)')+"Next &raquo;</a>")) compile(tagre('a', 'href', r'(http://abstrusegoose\.com/\d+)')+"Next &raquo;</a>"))
imageUrl = 'http://abstrusegoose.com/c%s.html' stripUrl = 'http://abstrusegoose.com/c%s.html'
imageSearch = compile(tagre('img', 'src', r'(http://abstrusegoose\.com/strips/[^<>"]+)')) imageSearch = compile(tagre('img', 'src', r'(http://abstrusegoose\.com/strips/[^<>"]+)'))
prevSearch = compile(tagre('a', 'href', r'(http://abstrusegoose\.com/\d+)') + r'&laquo; Previous</a>') prevSearch = compile(tagre('a', 'href', r'(http://abstrusegoose\.com/\d+)') + r'&laquo; Previous</a>')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -63,7 +63,7 @@ class AbstruseGoose(_BasicScraper):
class AcademyVale(_BasicScraper): class AcademyVale(_BasicScraper):
latestUrl = 'http://imagerie.com/vale/' latestUrl = 'http://imagerie.com/vale/'
imageUrl = 'http://imagerie.com/vale/avarch.cgi?%s' stripUrl = 'http://imagerie.com/vale/avarch.cgi?%s'
imageSearch = compile(tagre('img', 'src', r'(avale\d{4}-\d{2}\.gif)')) imageSearch = compile(tagre('img', 'src', r'(avale\d{4}-\d{2}\.gif)'))
prevSearch = compile(tagre('a', 'href', r'(avarch[^"]+)') + tagre('img', 'src', 'AVNavBack\.gif')) prevSearch = compile(tagre('a', 'href', r'(avarch[^"]+)') + tagre('img', 'src', 'AVNavBack\.gif'))
help = 'Index format: nnn' help = 'Index format: nnn'
@ -71,14 +71,14 @@ class AcademyVale(_BasicScraper):
class Alice(_BasicScraper): class Alice(_BasicScraper):
latestUrl = 'http://alice.alicecomics.com/' latestUrl = 'http://alice.alicecomics.com/'
imageUrl = 'http://alice.alicecomics.com/wp-content/webcomic/alicecomics/%s.jpg' stripUrl = 'http://alice.alicecomics.com/wp-content/webcomic/alicecomics/%s.jpg'
imageSearch = compile(tagre("img", "src", r'(http://alice\.alicecomics\.com/wp-content/webcomic/alicecomics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://alice\.alicecomics\.com/wp-content/webcomic/alicecomics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://alice.alicecomics.com/archive/[^!]+)', after="previous")) prevSearch = compile(tagre("a", "href", r'(http://alice.alicecomics.com/archive/[^!]+)', after="previous"))
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
class AlienLovesPredator(_BasicScraper): class AlienLovesPredator(_BasicScraper):
imageUrl = 'http://alienlovespredator.com/%s' stripUrl = 'http://alienlovespredator.com/%s'
imageSearch = compile(r'<img src="(.+?)"[^>]+>(<center>\n|\n|</center>\n)<div style="height: 2px;">&nbsp;</div>', MULTILINE) imageSearch = compile(r'<img src="(.+?)"[^>]+>(<center>\n|\n|</center>\n)<div style="height: 2px;">&nbsp;</div>', MULTILINE)
prevSearch = compile(r'<a href="(.+?)"><img src="/images/nav_previous.jpg"') prevSearch = compile(r'<a href="(.+?)"><img src="/images/nav_previous.jpg"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -94,7 +94,7 @@ class AlienLovesPredator(_BasicScraper):
class AnarchySD(_BasicScraper): class AnarchySD(_BasicScraper):
imageUrl = 'http://www.anarchycomic.com/page%s.php' stripUrl = 'http://www.anarchycomic.com/page%s.php'
imageSearch = compile(tagre('img', 'src', r'../(images/page\d+\..+?)')) imageSearch = compile(tagre('img', 'src', r'../(images/page\d+\..+?)'))
prevSearch = compile(tagre('a', 'href', r'(page\d+\.php)')+'PREVIOUS PAGE') prevSearch = compile(tagre('a', 'href', r'(page\d+\.php)')+'PREVIOUS PAGE')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -106,7 +106,7 @@ class AnarchySD(_BasicScraper):
class Altermeta(_BasicScraper): class Altermeta(_BasicScraper):
latestUrl = 'http://altermeta.net/' latestUrl = 'http://altermeta.net/'
imageUrl = 'http://altermeta.net/archive.php?comic=%s&view=showfiller' stripUrl = 'http://altermeta.net/archive.php?comic=%s&view=showfiller'
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="http://altermeta\.net/template/default/images/sasha/back\.png')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -116,7 +116,7 @@ class Altermeta(_BasicScraper):
class AltermetaOld(Altermeta): class AltermetaOld(Altermeta):
name = 'Altermeta/Old' name = 'Altermeta/Old'
latestUrl = 'http://altermeta.net/oldarchive/index.php' latestUrl = 'http://altermeta.net/oldarchive/index.php'
imageUrl = 'http://altermeta.net/oldarchive/archive.php?comic=%s' stripUrl = 'http://altermeta.net/oldarchive/archive.php?comic=%s'
prevSearch = compile(r'<a href="([^"]+)">Back') prevSearch = compile(r'<a href="([^"]+)">Back')
@ -130,7 +130,7 @@ class Angels2200(_BasicScraper):
class AppleGeeks(_BasicScraper): class AppleGeeks(_BasicScraper):
latestUrl = 'http://www.applegeeks.com/' latestUrl = 'http://www.applegeeks.com/'
imageUrl = 'http://www.applegeeks.com/comics/viewcomic.php?issue=%s' stripUrl = 'http://www.applegeeks.com/comics/viewcomic.php?issue=%s'
imageSearch = compile(tagre("img", "src", r'"(strips/\d+?\..+?)"')) imageSearch = compile(tagre("img", "src", r'"(strips/\d+?\..+?)"'))
prevSearch = compile(r'<div class="caption">Previous Comic</div>\s*<p><a href="([^"]+)">', MULTILINE) prevSearch = compile(r'<div class="caption">Previous Comic</div>\s*<p><a href="([^"]+)">', MULTILINE)
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -138,7 +138,7 @@ class AppleGeeks(_BasicScraper):
class Achewood(_BasicScraper): class Achewood(_BasicScraper):
latestUrl = 'http://www.achewood.com/' latestUrl = 'http://www.achewood.com/'
imageUrl = 'http://www.achewood.com/index.php?date=%s' stripUrl = 'http://www.achewood.com/index.php?date=%s'
imageSearch = compile(tagre("img", "src", r'(/comic\.php\?date=\d+)')) imageSearch = compile(tagre("img", "src", r'(/comic\.php\?date=\d+)'))
prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)', after="Previous")) prevSearch = compile(tagre("a", "href", r'(index\.php\?date=\d+)', after="Previous"))
help = 'Index format: mmddyyyy' help = 'Index format: mmddyyyy'
@ -150,7 +150,7 @@ class AstronomyPOTD(_BasicScraper):
starter = bounceStarter( starter = bounceStarter(
'http://antwrp.gsfc.nasa.gov/apod/astropix.html', 'http://antwrp.gsfc.nasa.gov/apod/astropix.html',
compile(r'<a href="(ap\d{6}\.html)">&gt;</a>')) compile(r'<a href="(ap\d{6}\.html)">&gt;</a>'))
imageUrl = 'http://antwrp.gsfc.nasa.gov/apod/ap%s.html' stripUrl = 'http://antwrp.gsfc.nasa.gov/apod/ap%s.html'
imageSearch = compile(r'<a href="(image/\d{4}/.+\..+?)">') imageSearch = compile(r'<a href="(image/\d{4}/.+\..+?)">')
prevSearch = compile(r'<a href="(ap\d{6}\.html)">&lt;</a>') prevSearch = compile(r'<a href="(ap\d{6}\.html)">&lt;</a>')
help = 'Index format: yymmdd' help = 'Index format: yymmdd'
@ -164,7 +164,7 @@ class AstronomyPOTD(_BasicScraper):
class AfterStrife(_BasicScraper): class AfterStrife(_BasicScraper):
latestUrl = 'http://afterstrife.com/?p=262' latestUrl = 'http://afterstrife.com/?p=262'
imageUrl = 'http://afterstrife.com/?p=%s' stripUrl = 'http://afterstrife.com/?p=%s'
imageSearch = compile(r'<img src="(http://afterstrife.com/strips/.+?)"') imageSearch = compile(r'<img src="(http://afterstrife.com/strips/.+?)"')
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'
@ -173,7 +173,7 @@ class AfterStrife(_BasicScraper):
class ALLCAPS(_BasicScraper): class ALLCAPS(_BasicScraper):
latestUrl = 'http://www.allcapscomix.com/' latestUrl = 'http://www.allcapscomix.com/'
imageUrl = 'http://www.allcapscomix.com/%s' stripUrl = 'http://www.allcapscomix.com/%s'
imageSearch = compile(tagre("img", "src", r'(http://www\.allcapscomix\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.allcapscomix\.com/comics/[^"]+)'))
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'
@ -182,7 +182,7 @@ class ALLCAPS(_BasicScraper):
class ASkeweredParadise(_BasicScraper): class ASkeweredParadise(_BasicScraper):
latestUrl = 'http://aspcomics.net/' latestUrl = 'http://aspcomics.net/'
imageUrl = 'http://aspcomics.net/archindex.php?strip_id=%s' stripUrl = 'http://aspcomics.net/archindex.php?strip_id=%s'
imageSearch = compile(tagre("img", "src", r'(http://aspcomics\.net/sites/default/files[^"]*/asp\d+\.jpg)[^"]+')) imageSearch = compile(tagre("img", "src", r'(http://aspcomics\.net/sites/default/files[^"]*/asp\d+\.jpg)[^"]+'))
prevSearch = compile(tagre("a", "href", "(/comic/\d+)")+r"[^>]+Previous") prevSearch = compile(tagre("a", "href", "(/comic/\d+)")+r"[^>]+Previous")
help = 'Index format: nnn' help = 'Index format: nnn'
@ -192,7 +192,7 @@ class ASkeweredParadise(_BasicScraper):
class AGirlAndHerFed(_BasicScraper): class AGirlAndHerFed(_BasicScraper):
starter = bounceStarter('http://www.agirlandherfed.com/', starter = bounceStarter('http://www.agirlandherfed.com/',
compile(r'<a href="([^"]+)">[^>]+Back')) compile(r'<a href="([^"]+)">[^>]+Back'))
imageUrl = 'http://www.agirlandherfed.com/img/strip/%s' stripUrl = 'http://www.agirlandherfed.com/img/strip/%s'
imageSearch = compile(tagre("img", "src", r'(img/strip/[^"]+\.jpg)')) imageSearch = compile(tagre("img", "src", r'(img/strip/[^"]+\.jpg)'))
prevSearch = compile(r'<a href="([^"]+)">[^>]+Back') prevSearch = compile(r'<a href="([^"]+)">[^>]+Back')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -205,7 +205,7 @@ class AGirlAndHerFed(_BasicScraper):
class AetheriaEpics(_BasicScraper): class AetheriaEpics(_BasicScraper):
latestUrl = 'http://aetheria-epics.schala.net/' latestUrl = 'http://aetheria-epics.schala.net/'
imageUrl = 'http://aetheria-epics.schala.net/%s.html' stripUrl = 'http://aetheria-epics.schala.net/%s.html'
imageSearch = compile(r'<td><img src="(\d{5}.\w{3,4})"') imageSearch = compile(r'<td><img src="(\d{5}.\w{3,4})"')
prevSearch = compile(r'<a href="(\d{5}.html)"><img src="prev.jpg"\/>') prevSearch = compile(r'<a href="(\d{5}.html)"><img src="prev.jpg"\/>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -214,7 +214,7 @@ class AetheriaEpics(_BasicScraper):
class Adrift(_BasicScraper): class Adrift(_BasicScraper):
latestUrl = 'http://www.adriftcomic.com/' latestUrl = 'http://www.adriftcomic.com/'
imageUrl = 'http://www.adriftcomic.com/page%s.html' stripUrl = 'http://www.adriftcomic.com/page%s.html'
imageSearch = compile(r'<IMG SRC="(Adrift_Web_Page\d+.jpg)"') imageSearch = compile(r'<IMG SRC="(Adrift_Web_Page\d+.jpg)"')
prevSearch = compile(r'<A HREF="(.+?)"><IMG SRC="AdriftBackLink.gif"') prevSearch = compile(r'<A HREF="(.+?)"><IMG SRC="AdriftBackLink.gif"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -223,7 +223,7 @@ class Adrift(_BasicScraper):
class AirForceBlues(_BasicScraper): class AirForceBlues(_BasicScraper):
latestUrl = 'http://www.afblues.com/' latestUrl = 'http://www.afblues.com/'
imageUrl = 'http://www.afblues.com/?p=%s' stripUrl = 'http://www.afblues.com/?p=%s'
imageSearch = compile(r'<img src=\'(http://www.afblues.com/comics/.+?)\'>') imageSearch = compile(r'<img src=\'(http://www.afblues.com/comics/.+?)\'>')
prevSearch = compile(r'<a href="(http://www.afblues.com/.+?)">&laquo; Previous') prevSearch = compile(r'<a href="(http://www.afblues.com/.+?)">&laquo; Previous')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -232,7 +232,7 @@ class AirForceBlues(_BasicScraper):
class AlienShores(_BasicScraper): class AlienShores(_BasicScraper):
latestUrl = 'http://alienshores.com/alienshores_band/' latestUrl = 'http://alienshores.com/alienshores_band/'
imageUrl = 'http://alienshores.com/alienshores_band/?p=%s' stripUrl = 'http://alienshores.com/alienshores_band/?p=%s'
imageSearch = compile(r'><img src="(http://alienshores.com/alienshores_band/comics/.+?)"') imageSearch = compile(r'><img src="(http://alienshores.com/alienshores_band/comics/.+?)"')
prevSearch = compile(r'<a href="(http://alienshores.com/.+?)" rel="prev">') prevSearch = compile(r'<a href="(http://alienshores.com/.+?)" rel="prev">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -241,7 +241,7 @@ class AlienShores(_BasicScraper):
class AllTheGrowingThings(_BasicScraper): class AllTheGrowingThings(_BasicScraper):
latestUrl = 'http://typodmary.com/growingthings/' latestUrl = 'http://typodmary.com/growingthings/'
imageUrl = 'http://typodmary.com/growingthings/%s/' stripUrl = 'http://typodmary.com/growingthings/%s/'
imageSearch = compile(r'<img src="(http://typodmary.com/growingthings/comics/.+?)"') imageSearch = compile(r'<img src="(http://typodmary.com/growingthings/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://typodmary.com/growingthings/.+?)"') prevSearch = compile(r'<div class="nav-previous"><a href="(http://typodmary.com/growingthings/.+?)"')
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'
@ -250,7 +250,7 @@ class AllTheGrowingThings(_BasicScraper):
class Amya(_BasicScraper): class Amya(_BasicScraper):
latestUrl = 'http://www.amyachronicles.com/' latestUrl = 'http://www.amyachronicles.com/'
imageUrl = 'http://www.amyachronicles.com/comics/%s.jpg' stripUrl = 'http://www.amyachronicles.com/comics/%s.jpg'
imageSearch = compile(tagre("img", "src", r'(http://www\.amyachronicles\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.amyachronicles\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.amyachronicles\.com/archives/\d+)', after="Previous")) prevSearch = compile(tagre("a", "href", r'(http://www\.amyachronicles\.com/archives/\d+)', after="Previous"))
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -259,7 +259,7 @@ class Amya(_BasicScraper):
class Angband(_BasicScraper): class Angband(_BasicScraper):
latestUrl = 'http://angband.calamarain.net/' latestUrl = 'http://angband.calamarain.net/'
imageUrl = 'http://angband.calamarain.net/view.php?date=%s' stripUrl = 'http://angband.calamarain.net/view.php?date=%s'
imageSearch = compile(tagre("img", "src", r'(comics/Scroll[^"]+)')) imageSearch = compile(tagre("img", "src", r'(comics/Scroll[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(view\.php\?date\=[^"]+)')+"Previous") prevSearch = compile(tagre("a", "href", r'(view\.php\?date\=[^"]+)')+"Previous")
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -268,7 +268,7 @@ class Angband(_BasicScraper):
class ActionAthena(_BasicScraper): class ActionAthena(_BasicScraper):
latestUrl = 'http://actionathena.com/' latestUrl = 'http://actionathena.com/'
imageUrl = 'http://actionathena.com/2%s' stripUrl = 'http://actionathena.com/2%s'
imageSearch = compile(r'<img src=\'(http://actionathena.com/comics/.+?)\'>') imageSearch = compile(r'<img src=\'(http://actionathena.com/comics/.+?)\'>')
prevSearch = compile(r'<a href="(http://actionathena.com/.+?)">&laquo; Previous</a>') prevSearch = compile(r'<a href="(http://actionathena.com/.+?)">&laquo; Previous</a>')
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'
@ -277,7 +277,7 @@ class ActionAthena(_BasicScraper):
class AlsoBagels(_BasicScraper): class AlsoBagels(_BasicScraper):
latestUrl = 'http://www.alsobagels.com/' latestUrl = 'http://www.alsobagels.com/'
imageUrl = 'http://alsobagels.com/index.php/comic/%s/' stripUrl = 'http://alsobagels.com/index.php/comic/%s/'
imageSearch = compile(r'<img src="(http://alsobagels.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://alsobagels.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://alsobagels.com/index.php/comic/.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(http://alsobagels.com/index.php/comic/.+?)">')
help = 'Index format: strip-name' help = 'Index format: strip-name'
@ -286,7 +286,7 @@ class AlsoBagels(_BasicScraper):
class Annyseed(_BasicScraper): class Annyseed(_BasicScraper):
latestUrl = 'http://www.colourofivy.com/annyseed_webcomic_latest.htm' latestUrl = 'http://www.colourofivy.com/annyseed_webcomic_latest.htm'
imageUrl = 'http://www.colourofivy.com/annyseed_webcomic%s.htm' stripUrl = 'http://www.colourofivy.com/annyseed_webcomic%s.htm'
imageSearch = compile(r'<td width="570" height="887" valign="top"><img src="(.+?)"') imageSearch = compile(r'<td width="570" height="887" valign="top"><img src="(.+?)"')
prevSearch = compile(r'<a href="(http://www.colourofivy.com/.+?)"><img src="Last.gif"') prevSearch = compile(r'<a href="(http://www.colourofivy.com/.+?)"><img src="Last.gif"')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -8,7 +8,7 @@ from ..scraper import _BasicScraper
class BadlyDrawnKitties(_BasicScraper): class BadlyDrawnKitties(_BasicScraper):
latestUrl = 'http://www.badlydrawnkitties.com/' latestUrl = 'http://www.badlydrawnkitties.com/'
imageUrl = 'http://www.badlydrawnkitties.com/new/%s.html' stripUrl = 'http://www.badlydrawnkitties.com/new/%s.html'
imageSearch = compile(r'<img src="(/new/.+?)">') imageSearch = compile(r'<img src="(/new/.+?)">')
prevSearch = compile(r'"(/new/.+?)".+?previous.gif') prevSearch = compile(r'"(/new/.+?)".+?previous.gif')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -16,7 +16,7 @@ class BadlyDrawnKitties(_BasicScraper):
class Bardsworth(_BasicScraper): class Bardsworth(_BasicScraper):
latestUrl = 'http://www.bardsworth.com/' latestUrl = 'http://www.bardsworth.com/'
imageUrl = 'http://www.bardsworth.com/archive.php?p=s%' stripUrl = 'http://www.bardsworth.com/archive.php?p=s%'
imageSearch = compile(r'(strips/.+?)"') imageSearch = compile(r'(strips/.+?)"')
prevSearch = compile(r'"(http.+?)".+?/prev') prevSearch = compile(r'"(http.+?)".+?/prev')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -24,7 +24,7 @@ class Bardsworth(_BasicScraper):
class BetterDays(_BasicScraper): class BetterDays(_BasicScraper):
latestUrl = 'http://www.jaynaylor.com/betterdays/' latestUrl = 'http://www.jaynaylor.com/betterdays/'
imageUrl = 'http://www.jaynaylor.com/betterdays/archives/%s' stripUrl = 'http://www.jaynaylor.com/betterdays/archives/%s'
imageSearch = compile(r'<img src=(/betterdays/comic/.+?)>') imageSearch = compile(r'<img src=(/betterdays/comic/.+?)>')
prevSearch = compile(r'<a href="(.+)">&laquo; Previous') prevSearch = compile(r'<a href="(.+)">&laquo; Previous')
help = 'Index format: yyyy/mm/<your guess>.html' help = 'Index format: yyyy/mm/<your guess>.html'
@ -32,7 +32,7 @@ class BetterDays(_BasicScraper):
class BetterYouThanMe(_BasicScraper): class BetterYouThanMe(_BasicScraper):
latestUrl = 'http://betteryouthanme.net/' latestUrl = 'http://betteryouthanme.net/'
imageUrl = 'http://betteryouthanme.net/archive.php?date=%s.gif' stripUrl = 'http://betteryouthanme.net/archive.php?date=%s.gif'
imageSearch = compile(r'"(comics/.+?)"') imageSearch = compile(r'"(comics/.+?)"')
prevSearch = compile(r'"(archive.php\?date=.+?)">.+?previous') prevSearch = compile(r'"(archive.php\?date=.+?)">.+?previous')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -40,7 +40,7 @@ class BetterYouThanMe(_BasicScraper):
class BiggerThanCheeses(_BasicScraper): class BiggerThanCheeses(_BasicScraper):
latestUrl = 'http://www.biggercheese.com' latestUrl = 'http://www.biggercheese.com'
imageUrl = 'http://www.biggercheese.com/index.php?comic=%s' stripUrl = 'http://www.biggercheese.com/index.php?comic=%s'
imageSearch = compile(r'src="(comics/.+?)" alt') imageSearch = compile(r'src="(comics/.+?)" alt')
prevSearch = compile(r'"(index.php\?comic=.+?)".+?_back') prevSearch = compile(r'"(index.php\?comic=.+?)".+?_back')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -49,7 +49,7 @@ class BiggerThanCheeses(_BasicScraper):
class BizarreUprising(_BasicScraper): class BizarreUprising(_BasicScraper):
latestUrl = 'http://www.bizarreuprising.com/' latestUrl = 'http://www.bizarreuprising.com/'
imageUrl = 'http://www.bizarreuprising.com/view/%s' stripUrl = 'http://www.bizarreuprising.com/view/%s'
imageSearch = compile(r'<img src="(comic/[^"]+)"') imageSearch = compile(r'<img src="(comic/[^"]+)"')
prevSearch = compile(r'<a href="(view/\d+/[^"]+)"><img src="images/b_prev\.gif"') prevSearch = compile(r'<a href="(view/\d+/[^"]+)"><img src="images/b_prev\.gif"')
help = 'Index format: n/name' help = 'Index format: n/name'
@ -58,7 +58,7 @@ class BizarreUprising(_BasicScraper):
class Blip(_BasicScraper): class Blip(_BasicScraper):
latestUrl = 'http://blipcomic.com/' latestUrl = 'http://blipcomic.com/'
imageUrl = 'http://blipcomic.com/index.php?strip_id=%s' stripUrl = 'http://blipcomic.com/index.php?strip_id=%s'
imageSearch = compile(r'(istrip_files/strips/.+?)"') imageSearch = compile(r'(istrip_files/strips/.+?)"')
prevSearch = compile(r'First.+?"(index.php\?strip_id=.+?)".+?prev') prevSearch = compile(r'First.+?"(index.php\?strip_id=.+?)".+?prev')
help = 'Index format: n' help = 'Index format: n'
@ -66,7 +66,7 @@ class Blip(_BasicScraper):
class BlueCrashKit(_BasicScraper): class BlueCrashKit(_BasicScraper):
latestUrl = 'http://www.bluecrashkit.com/cheese/' latestUrl = 'http://www.bluecrashkit.com/cheese/'
imageUrl = 'http://www.bluecrashkit.com/cheese/node/%s' stripUrl = 'http://www.bluecrashkit.com/cheese/node/%s'
imageSearch = compile(r'(/cheese/files/comics/.+?)"') imageSearch = compile(r'(/cheese/files/comics/.+?)"')
prevSearch = compile(r'(/cheese/node/.+?)".+?previous') prevSearch = compile(r'(/cheese/node/.+?)".+?previous')
help = 'Index format: non' help = 'Index format: non'
@ -74,7 +74,7 @@ class BlueCrashKit(_BasicScraper):
class BMovieComic(_BasicScraper): class BMovieComic(_BasicScraper):
latestUrl = 'http://www.bmoviecomic.com/' latestUrl = 'http://www.bmoviecomic.com/'
imageUrl = 'http://www.bmoviecomic.com/?cid=%s' stripUrl = 'http://www.bmoviecomic.com/?cid=%s'
imageSearch = compile(r'"(comics/.+?)"') imageSearch = compile(r'"(comics/.+?)"')
prevSearch = compile(r'(\?cid=.+?)".+?Prev') prevSearch = compile(r'(\?cid=.+?)".+?Prev')
help = 'Index format: n' help = 'Index format: n'
@ -86,7 +86,7 @@ class BMovieComic(_BasicScraper):
### to get earlier comics ### to get earlier comics
class BratHalla(_BasicScraper): class BratHalla(_BasicScraper):
latestUrl = 'http://brat-halla.com/' latestUrl = 'http://brat-halla.com/'
imageUrl = 'http://brat-halla.com/comic/%s' stripUrl = 'http://brat-halla.com/comic/%s'
imageSearch = compile(r"(/comics/.+?)' target='_blank") imageSearch = compile(r"(/comics/.+?)' target='_blank")
prevSearch = compile(r'headernav2".+?"(http.+?)"') prevSearch = compile(r'headernav2".+?"(http.+?)"')
help = 'Index format: non' help = 'Index format: non'
@ -94,7 +94,7 @@ class BratHalla(_BasicScraper):
class Brink(_BasicScraper): class Brink(_BasicScraper):
latestUrl = 'http://paperfangs.com/brink/' latestUrl = 'http://paperfangs.com/brink/'
imageUrl = 'http://paperfangs.com/brink/?p=%s' stripUrl = 'http://paperfangs.com/brink/?p=%s'
imageSearch = compile(r'/(comics/.+?)"') imageSearch = compile(r'/(comics/.+?)"')
prevSearch = compile(r'previous.+?/brink/(.+?)".+?Previous') prevSearch = compile(r'previous.+?/brink/(.+?)".+?Previous')
help = 'Index format: non' help = 'Index format: non'
@ -103,7 +103,7 @@ class Brink(_BasicScraper):
class BoredAndEvil(_BasicScraper): class BoredAndEvil(_BasicScraper):
latestUrl = 'http://www.boredandevil.com/' latestUrl = 'http://www.boredandevil.com/'
imageUrl = 'http://www.boredandevil.com/archive.php?date=%s' stripUrl = 'http://www.boredandevil.com/archive.php?date=%s'
imageSearch = compile(r'<img src="(strips/.+?)"') imageSearch = compile(r'<img src="(strips/.+?)"')
prevSearch = compile(r'First Comic.+<a href="(.+?)".+previous-on.gif') prevSearch = compile(r'First Comic.+<a href="(.+?)".+previous-on.gif')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -112,7 +112,7 @@ class BoredAndEvil(_BasicScraper):
class BoyOnAStickAndSlither(_BasicScraper): class BoyOnAStickAndSlither(_BasicScraper):
latestUrl = 'http://www.boasas.com/' latestUrl = 'http://www.boasas.com/'
imageUrl = 'http://www.boasas.com/?c=%s' stripUrl = 'http://www.boasas.com/?c=%s'
imageSearch = compile(r'"(boasas/\d+\..+?)"') imageSearch = compile(r'"(boasas/\d+\..+?)"')
prevSearch = compile(r'<a href="(.+?)"><img src="images/left_20.png"') prevSearch = compile(r'<a href="(.+?)"><img src="images/left_20.png"')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -121,7 +121,7 @@ class BoyOnAStickAndSlither(_BasicScraper):
class ButternutSquash(_BasicScraper): class ButternutSquash(_BasicScraper):
latestUrl = 'http://www.butternutsquash.net/' latestUrl = 'http://www.butternutsquash.net/'
imageUrl = 'http://www.butternutsquash.net/v3/%s' stripUrl = 'http://www.butternutsquash.net/v3/%s'
imageSearch = compile(tagre("img", "src", r'(http://www\.butternutsquash\.net/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.butternutsquash\.net/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://www\.butternutsquash\.net/[^!]+)', after="prev")) prevSearch = compile(tagre("a", "href", r'(http://www\.butternutsquash\.net/[^!]+)', after="prev"))
help = 'Index format: yyyy/mm/dd/strip-name-author-name' help = 'Index format: yyyy/mm/dd/strip-name-author-name'
@ -134,7 +134,7 @@ def blankLabel(name, baseUrl):
dict( dict(
name='BlankLabel/' + name, name='BlankLabel/' + name,
latestUrl=baseUrl, latestUrl=baseUrl,
imageUrl='/d/%s.shtml', stripUrl='/d/%s.shtml',
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"),
#prevSearch=compile(r'(?:"([^"]*(?:/d/[^"\r\n]*)|(?:/strip/.+?))")(?:(?:.{43}starshift_back.gif)|(?:.+?cxn_previous)|(?:.{43}previous)|(?:[^<>]*>[^<>]*<[^<>]*previous)|(?:.*?back_button)|(?:.*?comicnav-previous))'), #prevSearch=compile(r'(?:"([^"]*(?:/d/[^"\r\n]*)|(?:/strip/.+?))")(?:(?:.{43}starshift_back.gif)|(?:.+?cxn_previous)|(?:.{43}previous)|(?:[^<>]*>[^<>]*<[^<>]*previous)|(?:.*?back_button)|(?:.*?comicnav-previous))'),
@ -163,7 +163,7 @@ uglyHill = blankLabel('UglyHill', 'http://www.uglyhill.com/')
class BeePower(_BasicScraper): class BeePower(_BasicScraper):
latestUrl = 'http://comicswithoutviolence.com/d/20080713.html' latestUrl = 'http://comicswithoutviolence.com/d/20080713.html'
imageUrl = 'http://comicswithoutviolence.com/d/%s.html' stripUrl = 'http://comicswithoutviolence.com/d/%s.html'
imageSearch = compile(r'src="(/comics/.+?)"') imageSearch = compile(r'src="(/comics/.+?)"')
prevSearch = compile(r'(\d+\.html)"><img[^>]+?src="/images/previous_day.png"') prevSearch = compile(r'(\d+\.html)"><img[^>]+?src="/images/previous_day.png"')
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'
@ -172,7 +172,7 @@ class BeePower(_BasicScraper):
class BlankIt(_BasicScraper): class BlankIt(_BasicScraper):
latestUrl = 'http://blankitcomics.com/' latestUrl = 'http://blankitcomics.com/'
imageUrl = 'http://blankitcomics.com/%s' stripUrl = 'http://blankitcomics.com/%s'
imageSearch = compile(r'<img src="(http://blankitcomics.com/bicomics/.+?)"') imageSearch = compile(r'<img src="(http://blankitcomics.com/bicomics/.+?)"')
prevSearch = compile(r'<a href="([^"]+)" rel="prev">') prevSearch = compile(r'<a href="([^"]+)" rel="prev">')
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -181,7 +181,7 @@ class BlankIt(_BasicScraper):
class BobWhite(_BasicScraper): class BobWhite(_BasicScraper):
latestUrl = 'http://www.bobwhitecomics.com/' latestUrl = 'http://www.bobwhitecomics.com/'
imageUrl = 'http://www.bobwhitecomics.com/?webcomic_post=%s' stripUrl = 'http://www.bobwhitecomics.com/?webcomic_post=%s'
imageSearch = compile(tagre("img", "src", r"(http://www\.bobwhitecomics\.com/wp/wp-content/webcomic/untitled/\d+.jpg)")) imageSearch = compile(tagre("img", "src", r"(http://www\.bobwhitecomics\.com/wp/wp-content/webcomic/untitled/\d+.jpg)"))
prevSearch = compile(tagre("a", "href", "(http://www\.bobwhitecomics\.com/\?webcomic_post=\d+)")+r'[^"]+Previous') prevSearch = compile(tagre("a", "href", "(http://www\.bobwhitecomics\.com/\?webcomic_post=\d+)")+r'[^"]+Previous')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -190,7 +190,7 @@ class BobWhite(_BasicScraper):
class BigFatWhale(_BasicScraper): class BigFatWhale(_BasicScraper):
latestUrl = 'http://www.bigfatwhale.com/' latestUrl = 'http://www.bigfatwhale.com/'
imageUrl = 'http://www.bigfatwhale.com/archives/bfw_%s.htm' stripUrl = 'http://www.bigfatwhale.com/archives/bfw_%s.htm'
imageSearch = compile(r'<img src="(archives/bfw_.+?|bfw_.+?)"') imageSearch = compile(r'<img src="(archives/bfw_.+?|bfw_.+?)"')
prevSearch = compile(r' HREF="(.+?)" TARGET="_top" TITLE="Previous Cartoon"') prevSearch = compile(r' HREF="(.+?)" TARGET="_top" TITLE="Previous Cartoon"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -199,7 +199,7 @@ class BigFatWhale(_BasicScraper):
class BadassMuthas(_BasicScraper): class BadassMuthas(_BasicScraper):
latestUrl = 'http://badassmuthas.com/pages/comic.php' latestUrl = 'http://badassmuthas.com/pages/comic.php'
imageUrl = 'http://badassmuthas.com/pages/comic.php?%s' stripUrl = 'http://badassmuthas.com/pages/comic.php?%s'
imageSearch = compile(r'<img src="(/images/comicsissue.+?)"') imageSearch = compile(r'<img src="(/images/comicsissue.+?)"')
prevSearch = compile(r'<a href="(.+?)"><img src="/images/comicsbuttonBack.gif" ') prevSearch = compile(r'<a href="(.+?)"><img src="/images/comicsbuttonBack.gif" ')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -208,7 +208,7 @@ class BadassMuthas(_BasicScraper):
class Boozeathon4Billion(_BasicScraper): class Boozeathon4Billion(_BasicScraper):
latestUrl = 'http://boozeathon4billion.com/' latestUrl = 'http://boozeathon4billion.com/'
imageUrl = 'http://boozeathon4billion.com/comics/%s' stripUrl = 'http://boozeathon4billion.com/comics/%s'
imageSearch = compile(r'<img src="(http://boozeathon4billion.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://boozeathon4billion.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"[^>]+?>Previous</a>') prevSearch = compile(r'<a href="(.+?)"[^>]+?>Previous</a>')
help = 'Index format: (sometimes chapternumber/)-yyyy-mm-dd/stripname' help = 'Index format: (sometimes chapternumber/)-yyyy-mm-dd/stripname'
@ -217,7 +217,7 @@ class Boozeathon4Billion(_BasicScraper):
class BrightlyWound(_BasicScraper): class BrightlyWound(_BasicScraper):
latestUrl = 'http://www.brightlywound.com/' latestUrl = 'http://www.brightlywound.com/'
imageUrl = 'http://www.brightlywound.com/?comic=%s' stripUrl = 'http://www.brightlywound.com/?comic=%s'
imageSearch = compile(r'<img src=\'(comic/.+?)\'') imageSearch = compile(r'<img src=\'(comic/.+?)\'')
prevSearch = compile(r'<div id=\'navback\'><a href=\'(\?comic\=\d+)\'><img src=\'images/previous.png\'') prevSearch = compile(r'<div id=\'navback\'><a href=\'(\?comic\=\d+)\'><img src=\'images/previous.png\'')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -226,7 +226,7 @@ class BrightlyWound(_BasicScraper):
class BlueCrashKit(_BasicScraper): class BlueCrashKit(_BasicScraper):
latestUrl = 'http://robhamm.com/bluecrashkit' latestUrl = 'http://robhamm.com/bluecrashkit'
imageUrl = 'http://robhamm.com/comics/blue-crash-kit/%s' stripUrl = 'http://robhamm.com/comics/blue-crash-kit/%s'
imageSearch = compile(r'src="(http://robhamm.com/sites/default/files/comics/.+?)"') imageSearch = compile(r'src="(http://robhamm.com/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'
@ -235,7 +235,7 @@ class BlueCrashKit(_BasicScraper):
class BloodBound(_BasicScraper): class BloodBound(_BasicScraper):
latestUrl = 'http://www.bloodboundcomic.com/' latestUrl = 'http://www.bloodboundcomic.com/'
imageUrl = 'http://www.bloodboundcomic.com/d/%s.html' stripUrl = 'http://www.bloodboundcomic.com/d/%s.html'
imageSearch = compile(r' src="(/comics/.+?)"') imageSearch = compile(r' src="(/comics/.+?)"')
prevSearch = compile(r' <a href="(/d/.+?)"><img[^>]+?src="/images/previous_day.jpg"') prevSearch = compile(r' <a href="(/d/.+?)"><img[^>]+?src="/images/previous_day.jpg"')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -244,7 +244,7 @@ class BloodBound(_BasicScraper):
class BookOfBiff(_BasicScraper): class BookOfBiff(_BasicScraper):
latestUrl = 'http://www.thebookofbiff.com/' latestUrl = 'http://www.thebookofbiff.com/'
imageUrl = 'http://www.thebookofbiff.com/%s' stripUrl = 'http://www.thebookofbiff.com/%s'
imageSearch = compile(r'<img src="(http://www.thebookofbiff.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.thebookofbiff.com/comics/.+?)"')
prevSearch = compile(r'<a href="(http://www.thebookofbiff.com/.+?)">&#9668; Previous</a>') prevSearch = compile(r'<a href="(http://www.thebookofbiff.com/.+?)">&#9668; Previous</a>')
help = 'Index format: yyyy/mm/dd/stripnum-strip-name' help = 'Index format: yyyy/mm/dd/stripnum-strip-name'
@ -253,7 +253,7 @@ class BookOfBiff(_BasicScraper):
class BillyTheDunce(_BasicScraper): class BillyTheDunce(_BasicScraper):
latestUrl = 'http://www.duncepress.com/' latestUrl = 'http://www.duncepress.com/'
imageUrl = 'http://www.duncepress.com/%s/' stripUrl = 'http://www.duncepress.com/%s/'
imageSearch = compile(r'<img src="(http://www.duncepress.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.duncepress.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://www.duncepress.com/[^"]+)" rel="prev">') prevSearch = compile(r'<div class="nav-previous"><a href="(http://www.duncepress.com/[^"]+)" rel="prev">')
help = 'Index format: yyyy/mm/strip-name' help = 'Index format: yyyy/mm/strip-name'
@ -262,7 +262,7 @@ class BillyTheDunce(_BasicScraper):
class BackwaterPlanet(_BasicScraper): class BackwaterPlanet(_BasicScraper):
latestUrl = 'http://www.backwaterplanet.com/current.htm' latestUrl = 'http://www.backwaterplanet.com/current.htm'
imageUrl = 'http://www.backwaterplanet.com/archive/bwp%s.htm' stripUrl = 'http://www.backwaterplanet.com/archive/bwp%s.htm'
imageSearch = compile(r'<img src="(/images/comic/bwp.+?)">') imageSearch = compile(r'<img src="(/images/comic/bwp.+?)">')
prevSearch = compile(r'<a href="(/archive/bwp.+?)"><img src="(images/Previous.jpg|/images/Previous.jpg)"') prevSearch = compile(r'<a href="(/archive/bwp.+?)"><img src="(images/Previous.jpg|/images/Previous.jpg)"')
help = 'Index format: yymmdd' help = 'Index format: yymmdd'
@ -271,7 +271,7 @@ class BackwaterPlanet(_BasicScraper):
class Baroquen(_BasicScraper): class Baroquen(_BasicScraper):
latestUrl = 'http://www.baroquencomics.com/' latestUrl = 'http://www.baroquencomics.com/'
imageUrl = 'http://www.baroquencomics.com/2010/01/04/the-man-from-omi/' stripUrl = 'http://www.baroquencomics.com/2010/01/04/the-man-from-omi/'
imageSearch = compile(r'<img src="(http://www.baroquencomics.com/Comics/.+?)"') imageSearch = compile(r'<img src="(http://www.baroquencomics.com/Comics/.+?)"')
prevSearch = compile(r'<a href="(http://www.baroquencomics.com/.+?)" rel="prev">') prevSearch = compile(r'<a href="(http://www.baroquencomics.com/.+?)" rel="prev">')
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'
@ -280,7 +280,7 @@ class Baroquen(_BasicScraper):
class BetweenFailures(_BasicScraper): class BetweenFailures(_BasicScraper):
latestUrl = 'http://betweenfailures.com/' latestUrl = 'http://betweenfailures.com/'
imageUrl = 'http://betweenfailures.com/%s' stripUrl = 'http://betweenfailures.com/%s'
imageSearch = compile(r'<img src=\'(http://betweenfailures.com/comics/.+?)\'>') imageSearch = compile(r'<img src=\'(http://betweenfailures.com/comics/.+?)\'>')
prevSearch = compile(r'<a href="(http://betweenfailures.com/.+?)">&laquo; Previous</a>') prevSearch = compile(r'<a href="(http://betweenfailures.com/.+?)">&laquo; Previous</a>')
help = 'Index format: yyyy/mm/dd/stripnum-strip-name' help = 'Index format: yyyy/mm/dd/stripnum-strip-name'
@ -289,7 +289,7 @@ class BetweenFailures(_BasicScraper):
class BillyTheBeaker(_BasicScraper): class BillyTheBeaker(_BasicScraper):
latestUrl = 'http://billy.defectivejunk.com/' latestUrl = 'http://billy.defectivejunk.com/'
imageUrl = 'http://billy.defectivejunk.com/index.php?strip=%s' stripUrl = 'http://billy.defectivejunk.com/index.php?strip=%s'
imageSearch = compile(r'<img src="(bub\d+_\d+.+?)"') imageSearch = compile(r'<img src="(bub\d+_\d+.+?)"')
prevSearch = compile(r' <a href="(index.php\?strip\=.+?)" title="Previous strip">') prevSearch = compile(r' <a href="(index.php\?strip\=.+?)" title="Previous strip">')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -10,7 +10,7 @@ from ..util import tagre, getQueryParams
class CalvinAndHobbes(_BasicScraper): class CalvinAndHobbes(_BasicScraper):
starter = bounceStarter('http://www.gocomics.com/calvinandhobbes/', starter = bounceStarter('http://www.gocomics.com/calvinandhobbes/',
compile(tagre("a", "href", "(/calvinandhobbes/\d+/\d+/\d+)")+"Next feature</a>")) compile(tagre("a", "href", "(/calvinandhobbes/\d+/\d+/\d+)")+"Next feature</a>"))
imageUrl = 'http://www.gocomics.com/calvinandhobbes/%s' stripUrl = 'http://www.gocomics.com/calvinandhobbes/%s'
imageSearch = compile(tagre("img", "src", "(http://assets\.amuniversal\.com/[a-f0-9]+)")) imageSearch = compile(tagre("img", "src", "(http://assets\.amuniversal\.com/[a-f0-9]+)"))
prevSearch = compile(tagre("a", "href", "(/calvinandhobbes/\d+/\d+/\d+)")+"Previous feature</a>") prevSearch = compile(tagre("a", "href", "(/calvinandhobbes/\d+/\d+/\d+)")+"Previous feature</a>")
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'
@ -23,7 +23,7 @@ class CalvinAndHobbes(_BasicScraper):
class CandyCartoon(_BasicScraper): class CandyCartoon(_BasicScraper):
latestUrl = 'http://www.candycartoon.com/' latestUrl = 'http://www.candycartoon.com/'
imageUrl = 'http://www.candycartoon.com/archives/%s.html' stripUrl = 'http://www.candycartoon.com/archives/%s.html'
imageSearch = compile(r'<img alt="[^"]*" src="(http://www\.candycartoon\.com/archives/[^"]+)"') imageSearch = compile(r'<img alt="[^"]*" src="(http://www\.candycartoon\.com/archives/[^"]+)"')
prevSearch = compile(r'<a href="(http://www\.candycartoon\.com/archives/\d{6}\.html)">prev') prevSearch = compile(r'<a href="(http://www\.candycartoon\.com/archives/\d{6}\.html)">prev')
help = 'Index format: nnnnnn' help = 'Index format: nnnnnn'
@ -32,7 +32,7 @@ class CandyCartoon(_BasicScraper):
class CaptainSNES(_BasicScraper): class CaptainSNES(_BasicScraper):
latestUrl = 'http://captainsnes.com/' latestUrl = 'http://captainsnes.com/'
imageUrl = 'http://captainsnes.com/?date=%s' stripUrl = 'http://captainsnes.com/?date=%s'
imageSearch = compile(r'<img src=\'(http://www.captainsnes.com/comics/.+?)\'') imageSearch = compile(r'<img src=\'(http://www.captainsnes.com/comics/.+?)\'')
prevSearch = compile(r'<a href="http://www.captainsnes.com/(.+?)"><span class="prev">') prevSearch = compile(r'<a href="http://www.captainsnes.com/(.+?)"><span class="prev">')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -41,7 +41,7 @@ class CaptainSNES(_BasicScraper):
class CaribbeanBlue(_BasicScraper): class CaribbeanBlue(_BasicScraper):
latestUrl = 'http://cblue.katbox.net/' latestUrl = 'http://cblue.katbox.net/'
imageUrl = 'http://cblue.katbox.net/index.php?strip_id=%s' stripUrl = 'http://cblue.katbox.net/index.php?strip_id=%s'
imageSearch = compile(r'="(.+?strips/.+?)"') imageSearch = compile(r'="(.+?strips/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><img src="images/navigation_back.png"') prevSearch = compile(r'<a href="(.+?)"><img src="images/navigation_back.png"')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -50,7 +50,7 @@ class CaribbeanBlue(_BasicScraper):
class Catena(_BasicScraper): class Catena(_BasicScraper):
latestUrl = 'http://catenamanor.com/' latestUrl = 'http://catenamanor.com/'
imageUrl = 'http://catenamanor.com/%s.gif' stripUrl = 'http://catenamanor.com/%s.gif'
imageSearch = compile(tagre("img", "src", r'(http://catenamanor\.com/comics/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://catenamanor\.com/comics/[^"]+)'))
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>'
@ -58,7 +58,7 @@ class Catena(_BasicScraper):
class Catharsis(_BasicScraper): class Catharsis(_BasicScraper):
latestUrl = 'http://catharsiscomic.com/' latestUrl = 'http://catharsiscomic.com/'
imageUrl = 'http://catharsiscomic.com/archive.php?strip=%s' stripUrl = 'http://catharsiscomic.com/archive.php?strip=%s'
imageSearch = compile(r'<img src="(strips/.+?)"') imageSearch = compile(r'<img src="(strips/.+?)"')
prevSearch = compile(r'<a href="(.+?)".+"Previous') prevSearch = compile(r'<a href="(.+?)".+"Previous')
help = 'Index format: yymmdd-<your guess>.html' help = 'Index format: yymmdd-<your guess>.html'
@ -67,7 +67,7 @@ class Catharsis(_BasicScraper):
class ChasingTheSunset(_BasicScraper): class ChasingTheSunset(_BasicScraper):
latestUrl = 'http://www.fantasycomic.com/' latestUrl = 'http://www.fantasycomic.com/'
imageUrl = 'http://www.fantasycomic.com/index.php?p=c%s' stripUrl = 'http://www.fantasycomic.com/index.php?p=c%s'
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'
@ -76,7 +76,7 @@ class ChasingTheSunset(_BasicScraper):
class Chisuji(_BasicScraper): class Chisuji(_BasicScraper):
latestUrl = 'http://www.chisuji.com/' latestUrl = 'http://www.chisuji.com/'
imageUrl = 'http://www.chisuji.com/%s' stripUrl = 'http://www.chisuji.com/%s'
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'
@ -85,7 +85,7 @@ class Chisuji(_BasicScraper):
class ChugworthAcademy(_BasicScraper): class ChugworthAcademy(_BasicScraper):
latestUrl = 'http://chugworth.com/' latestUrl = 'http://chugworth.com/'
imageUrl = 'http://chugworth.com/?p=%s' stripUrl = 'http://chugworth.com/?p=%s'
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)'
@ -94,7 +94,7 @@ class ChugworthAcademy(_BasicScraper):
class ChugworthAcademyArchive(_BasicScraper): class ChugworthAcademyArchive(_BasicScraper):
latestUrl = 'http://chugworth.com/archive/?strip_id=422' latestUrl = 'http://chugworth.com/archive/?strip_id=422'
imageUrl = 'http://chugworth.com/archive/?strip_id=%s' stripUrl = 'http://chugworth.com/archive/?strip_id=%s'
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'
@ -103,7 +103,7 @@ class ChugworthAcademyArchive(_BasicScraper):
class CigarroAndCerveja(_BasicScraper): class CigarroAndCerveja(_BasicScraper):
latestUrl = 'http://www.cigarro.ca/' latestUrl = 'http://www.cigarro.ca/'
imageUrl = 'http://www.cigarro.ca/?p=%s' stripUrl = 'http://www.cigarro.ca/?p=%s'
imageSearch = compile(r"(/comics/.+?)'") imageSearch = compile(r"(/comics/.+?)'")
prevSearch = compile(r'(/\?p=.+?)">&laq') prevSearch = compile(r'(/\?p=.+?)">&laq')
help = 'Index format: non' help = 'Index format: non'
@ -112,7 +112,7 @@ class CigarroAndCerveja(_BasicScraper):
class CombustibleOrange(_BasicScraper): class CombustibleOrange(_BasicScraper):
latestUrl = 'http://www.combustibleorange.com/' latestUrl = 'http://www.combustibleorange.com/'
imageUrl = 'http://www.combustibleorange.com/index.php?current=%s' stripUrl = 'http://www.combustibleorange.com/index.php?current=%s'
imageSearch = compile(r'<img src="(/images/comics/\d+?\.gif)"') imageSearch = compile(r'<img src="(/images/comics/\d+?\.gif)"')
prevSearch = compile(r'><a href="(.+?)"><img src="images/button-last.gif" border="0">') prevSearch = compile(r'><a href="(.+?)"><img src="images/button-last.gif" border="0">')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -121,7 +121,7 @@ class CombustibleOrange(_BasicScraper):
class Comedity(_BasicScraper): class Comedity(_BasicScraper):
latestUrl = 'http://www.comedity.com/' latestUrl = 'http://www.comedity.com/'
imageUrl = 'http://www.comedity.com/index.php?strip_id=%s' stripUrl = 'http://www.comedity.com/index.php?strip_id=%s'
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)'
@ -138,7 +138,7 @@ class Comet7(_BasicScraper):
class Commissioned(_BasicScraper): class Commissioned(_BasicScraper):
latestUrl = 'http://www.commissionedcomic.com/' latestUrl = 'http://www.commissionedcomic.com/'
imageUrl = 'http://www.commissionedcomic.com/index.php?strip=%s' stripUrl = 'http://www.commissionedcomic.com/index.php?strip=%s'
imageSearch = compile(r'<img src="(http://www.commissionedcomic.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.commissionedcomic.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)">&lsaquo;</a>') prevSearch = compile(r'<a href="(.+?)">&lsaquo;</a>')
help = 'Index format: n' help = 'Index format: n'
@ -147,7 +147,7 @@ class Commissioned(_BasicScraper):
class CoolCatStudio(_BasicScraper): class CoolCatStudio(_BasicScraper):
latestUrl = 'http://www.coolcatstudio.com/' latestUrl = 'http://www.coolcatstudio.com/'
imageUrl = 'http://www.coolcatstudio.com/index.php?p=%s' stripUrl = 'http://www.coolcatstudio.com/index.php?p=%s'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r"href='(.+?)'>PREV") prevSearch = compile(r"href='(.+?)'>PREV")
help = 'Index format: n' help = 'Index format: n'
@ -156,7 +156,7 @@ class CoolCatStudio(_BasicScraper):
class CourtingDisaster(_BasicScraper): class CourtingDisaster(_BasicScraper):
latestUrl = 'http://www.courting-disaster.com/' latestUrl = 'http://www.courting-disaster.com/'
imageUrl = 'http://www.courting-disaster.com/archive/%s.html' stripUrl = 'http://www.courting-disaster.com/archive/%s.html'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r'</a><a href="(.+?)"><img src="/images/previous.gif"[^>]+?>') prevSearch = compile(r'</a><a href="(.+?)"><img src="/images/previous.gif"[^>]+?>')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -165,7 +165,7 @@ class CourtingDisaster(_BasicScraper):
class CrapIDrewOnMyLunchBreak(_BasicScraper): class CrapIDrewOnMyLunchBreak(_BasicScraper):
latestUrl = 'http://crap.jinwicked.com/' latestUrl = 'http://crap.jinwicked.com/'
imageUrl = 'http://crap.jinwicked.com/%s' stripUrl = 'http://crap.jinwicked.com/%s'
imageSearch = compile(r'<img src="(http://crap.jinwicked.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://crap.jinwicked.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><img src="http://comics.jinwicked.com/images/navigation_back.png"') prevSearch = compile(r'<a href="(.+?)"><img src="http://comics.jinwicked.com/images/navigation_back.png"')
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -179,7 +179,7 @@ class CtrlAltDel(_BasicScraper):
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@property @property
def imageUrl(self): def stripUrl(self):
return self.latestUrl + '%s' return self.latestUrl + '%s'
@ -190,7 +190,7 @@ class CtrlAltDelSillies(CtrlAltDel):
class Curvy(_BasicScraper): class Curvy(_BasicScraper):
latestUrl = 'http://www.c.urvy.org/' latestUrl = 'http://www.c.urvy.org/'
imageUrl = 'http://www.c.urvy.org/?date=%s' stripUrl = 'http://www.c.urvy.org/?date=%s'
imageSearch = compile(r'(/c/.+?)"') imageSearch = compile(r'(/c/.+?)"')
prevSearch = compile(r'(/\?date=.+?)">&lt;&lt; Previous page') prevSearch = compile(r'(/\?date=.+?)">&lt;&lt; Previous page')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -199,11 +199,11 @@ class Curvy(_BasicScraper):
def cloneManga(name, shortName, lastStrip=None): def cloneManga(name, shortName, lastStrip=None):
url = 'http://manga.clone-army.org' url = 'http://manga.clone-army.org'
baseUrl = '%s/%s.php' % (url, shortName) baseUrl = '%s/%s.php' % (url, shortName)
imageUrl = baseUrl + '?page=%s' stripUrl = baseUrl + '?page=%s'
if lastStrip is None: if lastStrip is None:
starter = bounceStarter(baseUrl, compile(tagre("a", "href", r'([^"]+)')+tagre("img", "src", r"next\.gif"))) starter = bounceStarter(baseUrl, compile(tagre("a", "href", r'([^"]+)')+tagre("img", "src", r"next\.gif")))
else: else:
starter = constStarter(imageUrl % lastStrip) starter = constStarter(stripUrl % lastStrip)
def namer(self, imageUrl, pageUrl): def namer(self, imageUrl, pageUrl):
return '%03d' % int(getQueryParams(pageUrl)['page'][0]) return '%03d' % int(getQueryParams(pageUrl)['page'][0])
@ -213,7 +213,7 @@ def cloneManga(name, shortName, lastStrip=None):
dict( dict(
name='CloneManga/' + name, name='CloneManga/' + name,
starter=starter, starter=starter,
imageUrl=imageUrl, stripUrl=stripUrl,
imageSearch=compile(tagre("img", "src", r'((?:%s)?/%s/[^"]+)' % (url, shortName), after="center")), imageSearch=compile(tagre("img", "src", r'((?:%s)?/%s/[^"]+)' % (url, shortName), after="center")),
prevSearch=compile(tagre("a", "href", r'([^"]+)')+tagre("img", "src", r"previous\.gif")), prevSearch=compile(tagre("a", "href", r'([^"]+)')+tagre("img", "src", r"previous\.gif")),
help='Index format: n', help='Index format: n',
@ -232,7 +232,7 @@ penny = cloneManga('PennyTribute', 'penny')
class CatAndGirl(_BasicScraper): class CatAndGirl(_BasicScraper):
latestUrl = 'http://catandgirl.com/' latestUrl = 'http://catandgirl.com/'
imageUrl = 'http://catandgirl.com/?p=%s' stripUrl = 'http://catandgirl.com/?p=%s'
imageSearch = compile(tagre("img", "src", r'(http://catandgirl\.com/archive/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://catandgirl\.com/archive/[^"]+)'))
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)'
@ -250,7 +250,7 @@ def comicsDotCom(name, section):
(_BasicScraper,), (_BasicScraper,),
dict( dict(
name='GoComicsDotCom/' + name, name='GoComicsDotCom/' + name,
imageUrl=latestUrl + '/%s', stripUrl=latestUrl + '/%s',
imageSearch=compile(tagre("img", "src", r'(http://assets\.amuniversal\.com/[0-9a-f]+)')), imageSearch=compile(tagre("img", "src", r'(http://assets\.amuniversal\.com/[0-9a-f]+)')),
prevSearch=compile(tagre("a", "href", "(/%s/\d+/\d+/\d+)")+"Previous"), prevSearch=compile(tagre("a", "href", "(/%s/\d+/\d+/\d+)")+"Previous"),
help='Index format: yyyy/mm/dd', help='Index format: yyyy/mm/dd',
@ -352,7 +352,7 @@ def creators(name, shortname):
dict( dict(
name='Creators/' + name, name='Creators/' + name,
latestUrl='http://www.creators.com/comics_show.cfm?ComicName=%s' % (shortname,), latestUrl='http://www.creators.com/comics_show.cfm?ComicName=%s' % (shortname,),
imageUrl=None, stripUrl=None,
imageSearch=compile(r'<img alt="[^"]+" src="(\d{4}/.+?/.+?\..+?)">'), imageSearch=compile(r'<img alt="[^"]+" src="(\d{4}/.+?/.+?\..+?)">'),
prevSearch=compile(r'<a href="(comics_show\.cfm\?next=\d+&ComicName=.+?)" Title="Previous Comic"'), prevSearch=compile(r'<a href="(comics_show\.cfm\?next=\d+&ComicName=.+?)" Title="Previous Comic"'),
help='Indexing unsupported') help='Indexing unsupported')
@ -373,7 +373,7 @@ zhi = creators('ZackHill', 'zhi')
class CyanideAndHappiness(_BasicScraper): class CyanideAndHappiness(_BasicScraper):
latestUrl = 'http://www.explosm.net/comics' latestUrl = 'http://www.explosm.net/comics'
imageUrl = 'http://www.explosm.net/comics/%s' stripUrl = 'http://www.explosm.net/comics/%s'
imageSearch = compile(r'<img alt="Cyanide and Happiness, a daily webcomic" src="(http:\/\/www\.explosm\.net/db/files/Comics/\w+/\S+\.\w+)"') imageSearch = compile(r'<img alt="Cyanide and Happiness, a daily webcomic" src="(http:\/\/www\.explosm\.net/db/files/Comics/\w+/\S+\.\w+)"')
prevSearch = compile(r'<a href="(/comics/\d+/?)">< Previous</a>') prevSearch = compile(r'<a href="(/comics/\d+/?)">< Previous</a>')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -382,7 +382,7 @@ class CyanideAndHappiness(_BasicScraper):
class CrimsonDark(_BasicScraper): class CrimsonDark(_BasicScraper):
latestUrl = 'http://www.davidcsimon.com/crimsondark/' latestUrl = 'http://www.davidcsimon.com/crimsondark/'
imageUrl = 'http://www.davidcsimon.com/crimsondark/index.php?view=comic&strip_id=%s' stripUrl = 'http://www.davidcsimon.com/crimsondark/index.php?view=comic&strip_id=%s'
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)'
@ -391,7 +391,7 @@ class CrimsonDark(_BasicScraper):
class CrimesOfCybeleCity(_BasicScraper): class CrimesOfCybeleCity(_BasicScraper):
latestUrl = 'http://www.pulledpunches.com/crimes/' latestUrl = 'http://www.pulledpunches.com/crimes/'
imageUrl = 'http://www.beaglespace.com/pulledpunches/crimes/?p=%s' stripUrl = 'http://www.beaglespace.com/pulledpunches/crimes/?p=%s'
imageSearch = compile(r'<img src="(http://www\.beaglespace\.com/pulledpunches/crimes/comics/[^"]+)"') imageSearch = compile(r'<img src="(http://www\.beaglespace\.com/pulledpunches/crimes/comics/[^"]+)"')
prevSearch = compile(r'<a href="(http://www\.beaglespace\.com/pulledpunches/crimes/\?p=\d+)"><img src="back1\.gif"') prevSearch = compile(r'<a href="(http://www\.beaglespace\.com/pulledpunches/crimes/\?p=\d+)"><img src="back1\.gif"')
help = 'Index format: nn' help = 'Index format: nn'
@ -400,7 +400,7 @@ class CrimesOfCybeleCity(_BasicScraper):
class CatsAndCameras(_BasicScraper): class CatsAndCameras(_BasicScraper):
latestUrl = 'http://catsncameras.com/cnc/' latestUrl = 'http://catsncameras.com/cnc/'
imageUrl = 'hhttp://catsncameras.com/cnc/?p=%s' stripUrl = 'hhttp://catsncameras.com/cnc/?p=%s'
imageSearch = compile(r'<img src="(http://catsncameras.com/cnc/comics/.+?)"') imageSearch = compile(r'<img src="(http://catsncameras.com/cnc/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://catsncameras.com/cnc/.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(http://catsncameras.com/cnc/.+?)">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -409,7 +409,7 @@ class CatsAndCameras(_BasicScraper):
class CowboyJedi(_BasicScraper): class CowboyJedi(_BasicScraper):
latestUrl = 'http://www.cowboyjedi.com/' latestUrl = 'http://www.cowboyjedi.com/'
imageUrl = 'http://www.cowboyjedi.com/%s' stripUrl = 'http://www.cowboyjedi.com/%s'
imageSearch = compile(r'<img src="(http://www.cowboyjedi.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.cowboyjedi.com/comics/.+?)"')
prevSearch = compile(r'<a href="(http://www.cowboyjedi.com/.+?)" class="navi navi-prev"') prevSearch = compile(r'<a href="(http://www.cowboyjedi.com/.+?)" class="navi navi-prev"')
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'
@ -418,7 +418,7 @@ class CowboyJedi(_BasicScraper):
class CasuallyKayla(_BasicScraper): class CasuallyKayla(_BasicScraper):
latestUrl = 'http://casuallykayla.com/' latestUrl = 'http://casuallykayla.com/'
imageUrl = 'http://casuallykayla.com/?p=%s' stripUrl = 'http://casuallykayla.com/?p=%s'
imageSearch = compile(r'<img src="(http://casuallykayla.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://casuallykayla.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -427,7 +427,7 @@ class CasuallyKayla(_BasicScraper):
class Collar6(_BasicScraper): class Collar6(_BasicScraper):
latestUrl = 'http://collar6.com/' latestUrl = 'http://collar6.com/'
imageUrl = 'http://collar6.com/wp-content/webcomic/collar6/%s.jpg' stripUrl = 'http://collar6.com/wp-content/webcomic/collar6/%s.jpg'
imageSearch = compile(tagre("img", "src", r'(http://collar6\.com/wp-content/webcomic/collar6/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://collar6\.com/wp-content/webcomic/collar6/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(http://collar6\.com/archive/[^"]+)', after="previous")) prevSearch = compile(tagre("a", "href", r'(http://collar6\.com/archive/[^"]+)', after="previous"))
help = 'Index format: yyyy-mm-dd-Collar-n-nnn' help = 'Index format: yyyy-mm-dd-Collar-n-nnn'
@ -436,7 +436,7 @@ class Collar6(_BasicScraper):
class Chester5000XYV(_BasicScraper): class Chester5000XYV(_BasicScraper):
latestUrl = 'http://jessfink.com/Chester5000XYV/' latestUrl = 'http://jessfink.com/Chester5000XYV/'
imageUrl = 'http://jessfink.com/Chester5000XYV/?p=%s' stripUrl = 'http://jessfink.com/Chester5000XYV/?p=%s'
imageSearch = compile(r'<img src="(http://jessfink.com/Chester5000XYV/comics/.+?)"') imageSearch = compile(r'<img src="(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'
@ -445,7 +445,7 @@ class Chester5000XYV(_BasicScraper):
class CalamitiesOfNature(_BasicScraper): class CalamitiesOfNature(_BasicScraper):
latestUrl = 'http://www.calamitiesofnature.com/' latestUrl = 'http://www.calamitiesofnature.com/'
imageUrl = 'http://www.calamitiesofnature.com/archive/?c=%s' stripUrl = 'http://www.calamitiesofnature.com/archive/?c=%s'
imageSearch = compile(r'<IMG SRC="(archive/\d+.+?|http://www.calamitiesofnature.com/archive/\d+.+?)"') imageSearch = compile(r'<IMG SRC="(archive/\d+.+?|http://www.calamitiesofnature.com/archive/\d+.+?)"')
prevSearch = compile(r'<a id="previous" href="(http://www.calamitiesofnature.com/archive/\?c\=\d+)">') prevSearch = compile(r'<a id="previous" href="(http://www.calamitiesofnature.com/archive/\?c\=\d+)">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -454,7 +454,7 @@ class CalamitiesOfNature(_BasicScraper):
class Champ2010(_BasicScraper): class Champ2010(_BasicScraper):
latestUrl = 'http://www.jedcollins.com/champ2010/' latestUrl = 'http://www.jedcollins.com/champ2010/'
imageUrl = 'http://jedcollins.com/champ2010/?p=%s' stripUrl = 'http://jedcollins.com/champ2010/?p=%s'
imageSearch = compile(r'<img src="(http://jedcollins.com/champ2010/comics/.+?)"') imageSearch = compile(r'<img src="(http://jedcollins.com/champ2010/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://jedcollins.com/champ2010/.+?)"') prevSearch = compile(r'<div class="nav-previous"><a href="(http://jedcollins.com/champ2010/.+?)"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -463,7 +463,7 @@ class Champ2010(_BasicScraper):
class Chucklebrain(_BasicScraper): class Chucklebrain(_BasicScraper):
latestUrl = 'http://www.chucklebrain.com/main.php' latestUrl = 'http://www.chucklebrain.com/main.php'
imageUrl = 'http://www.chucklebrain.com/main.php?img=%s' stripUrl = 'http://www.chucklebrain.com/main.php?img=%s'
imageSearch = compile(r'<img src="(/images/strip.+?)"') imageSearch = compile(r'<img src="(/images/strip.+?)"')
prevSearch = compile(r'<a href=\'(/main.php\?img\=\d+)\'><img src=\'/images/previous.jpg\'') prevSearch = compile(r'<a href=\'(/main.php\?img\=\d+)\'><img src=\'/images/previous.jpg\'')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -472,7 +472,7 @@ class Chucklebrain(_BasicScraper):
class CompanyY(_BasicScraper): class CompanyY(_BasicScraper):
latestUrl = 'http://company-y.com/' latestUrl = 'http://company-y.com/'
imageUrl = 'http://company-y.com/%s/' stripUrl = 'http://company-y.com/%s/'
imageSearch = compile(r'<img src="(http://company-y.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://company-y.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://company-y.com/.+?)"') prevSearch = compile(r'<div class="nav-previous"><a href="(http://company-y.com/.+?)"')
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'
@ -481,7 +481,7 @@ class CompanyY(_BasicScraper):
class CorydonCafe(_BasicScraper): class CorydonCafe(_BasicScraper):
starter = bounceStarter('http://corydoncafe.com/', compile(r' href="(\./comic-\d+.html)">Next&gt;</a>')) starter = bounceStarter('http://corydoncafe.com/', compile(r' href="(\./comic-\d+.html)">Next&gt;</a>'))
imageUrl = 'http://corydoncafe.com/comic-%s.html' stripUrl = 'http://corydoncafe.com/comic-%s.html'
imageSearch = compile(r'<img src=\'(\./comics/.+?)\' ') imageSearch = compile(r'<img src=\'(\./comics/.+?)\' ')
prevSearch = compile(r' href="(\./comic-\d+.html)">&lt;Previous</a>') prevSearch = compile(r' href="(\./comic-\d+.html)">&lt;Previous</a>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -494,7 +494,7 @@ class CorydonCafe(_BasicScraper):
class CraftedFables(_BasicScraper): class CraftedFables(_BasicScraper):
latestUrl = 'http://www.craftedfables.com/' latestUrl = 'http://www.craftedfables.com/'
imageUrl = 'http://www.caf-fiends.net/craftedfables/?p=%s' stripUrl = 'http://www.caf-fiends.net/craftedfables/?p=%s'
imageSearch = compile(r'<img src="(http://www.caf-fiends.net/craftedfables/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.caf-fiends.net/craftedfables/comics/.+?)"')
prevSearch = compile(r'<a href="(http://www.caf-fiends.net/craftedfables/.+?)"><span class="prev">') prevSearch = compile(r'<a href="(http://www.caf-fiends.net/craftedfables/.+?)"><span class="prev">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -503,7 +503,7 @@ class CraftedFables(_BasicScraper):
class Currhue(_BasicScraper): class Currhue(_BasicScraper):
latestUrl = 'http://www.currhue.com/' latestUrl = 'http://www.currhue.com/'
imageUrl = 'http://www.currhue.com/?p=%s' stripUrl = 'http://www.currhue.com/?p=%s'
imageSearch = compile(r'<img src="(http://www.currhue.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.currhue.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://www.currhue.com/.+?)"') prevSearch = compile(r'<div class="nav-previous"><a href="(http://www.currhue.com/.+?)"')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -10,7 +10,7 @@ from ..util import getQueryParams
class DMFA(_BasicScraper): class DMFA(_BasicScraper):
latestUrl = 'http://www.missmab.com/' latestUrl = 'http://www.missmab.com/'
imageUrl = 'http://missmab.com/Comics/Vol_%s.php' stripUrl = 'http://missmab.com/Comics/Vol_%s.php'
imageSearch = compile(r'<IMG SRC="(Comics/.+?|Vol.+?)">', IGNORECASE) imageSearch = compile(r'<IMG SRC="(Comics/.+?|Vol.+?)">', IGNORECASE)
prevSearch = compile(r'<A HREF="(.+?)"><IMG SRC="(Images/comicprev.gif|../Images/comicprev.gif)" ', MULTILINE | IGNORECASE) prevSearch = compile(r'<A HREF="(.+?)"><IMG SRC="(Images/comicprev.gif|../Images/comicprev.gif)" ', MULTILINE | IGNORECASE)
help = 'Index format: nnn (normally, some specials)' help = 'Index format: nnn (normally, some specials)'
@ -19,7 +19,7 @@ class DMFA(_BasicScraper):
class DandyAndCompany(_BasicScraper): class DandyAndCompany(_BasicScraper):
latestUrl = 'http://www.dandyandcompany.com/' latestUrl = 'http://www.dandyandcompany.com/'
imageUrl = 'http://www.dandyandcompany.com/%s' stripUrl = 'http://www.dandyandcompany.com/%s'
imageSearch = compile(r'<img src="(.*?/strips/.+?)"') imageSearch = compile(r'<img src="(.*?/strips/.+?)"')
prevSearch = compile(r'<a href="(.*)" class="prev"') prevSearch = compile(r'<a href="(.*)" class="prev"')
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'
@ -27,7 +27,7 @@ class DandyAndCompany(_BasicScraper):
class DarkWings(_BasicScraper): class DarkWings(_BasicScraper):
latestUrl = 'http://www.flowerlarkstudios.com/dark-wings/' latestUrl = 'http://www.flowerlarkstudios.com/dark-wings/'
imageUrl = 'http://www.flowerlarkstudios.com/dark-wings/archive.php?day=%s' stripUrl = 'http://www.flowerlarkstudios.com/dark-wings/archive.php?day=%s'
imageSearch = compile(r'(comics/.+?)" W') imageSearch = compile(r'(comics/.+?)" W')
prevSearch = compile(r"first_day.+?/(archive.+?)'.+?previous_day") prevSearch = compile(r"first_day.+?/(archive.+?)'.+?previous_day")
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -35,7 +35,7 @@ class DarkWings(_BasicScraper):
class DeathToTheExtremist(_BasicScraper): class DeathToTheExtremist(_BasicScraper):
latestUrl = 'http://www.dtecomic.com/' latestUrl = 'http://www.dtecomic.com/'
imageUrl = 'http://www.dtecomic.com/?n=%s' stripUrl = 'http://www.dtecomic.com/?n=%s'
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'
@ -43,7 +43,7 @@ class DeathToTheExtremist(_BasicScraper):
class DeepFried(_BasicScraper): class DeepFried(_BasicScraper):
latestUrl = 'http://www.whatisdeepfried.com/' latestUrl = 'http://www.whatisdeepfried.com/'
imageUrl = 'http://www.whatisdeepfried.com/%s' stripUrl = 'http://www.whatisdeepfried.com/%s'
imageSearch = compile(r'(http://www.whatisdeepfried.com/comics/.+?)"') imageSearch = compile(r'(http://www.whatisdeepfried.com/comics/.+?)"')
prevSearch = compile(r'"(http://www.whatisdeepfried.com/.+?)"><span class="prev">') prevSearch = compile(r'"(http://www.whatisdeepfried.com/.+?)"><span class="prev">')
help = 'Index format: non' help = 'Index format: non'
@ -52,7 +52,7 @@ class DeepFried(_BasicScraper):
class DoemainOfOurOwn(_BasicScraper): class DoemainOfOurOwn(_BasicScraper):
latestUrl = 'http://www.doemain.com/' latestUrl = 'http://www.doemain.com/'
imageUrl = 'http://www.doemain.com/index.cgi/%s' stripUrl = 'http://www.doemain.com/index.cgi/%s'
imageSearch = compile(r"<img border='0' width='\d+' height='\d+' src='(/strips/\d{4}/\d{6}-[^\']+)'") imageSearch = compile(r"<img border='0' width='\d+' height='\d+' src='(/strips/\d{4}/\d{6}-[^\']+)'")
prevSearch = compile(r'<a href="(/index\.cgi/\d{4}-\d{2}-\d{2})"><img width="\d+" height="\d+" border="\d+" alt="Previous Strip"') prevSearch = compile(r'<a href="(/index\.cgi/\d{4}-\d{2}-\d{2})"><img width="\d+" height="\d+" border="\d+" alt="Previous Strip"')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -61,7 +61,7 @@ class DoemainOfOurOwn(_BasicScraper):
class DrFun(_BasicScraper): class DrFun(_BasicScraper):
latestUrl = 'http://www.ibiblio.org/Dave/ar00502.htm' latestUrl = 'http://www.ibiblio.org/Dave/ar00502.htm'
imageUrl = 'http://www.ibiblio.org/Dave/ar%s.htm' stripUrl = 'http://www.ibiblio.org/Dave/ar%s.htm'
imageSearch = compile(r'<A HREF= "(Dr-Fun/df\d{6}/df.+?)">') imageSearch = compile(r'<A HREF= "(Dr-Fun/df\d{6}/df.+?)">')
prevSearch = compile(r'<A HREF="(.+?)">Previous Week,') prevSearch = compile(r'<A HREF="(.+?)">Previous Week,')
help = 'Index format: nnnnn' help = 'Index format: nnnnn'
@ -70,7 +70,7 @@ class DrFun(_BasicScraper):
class Dracula(_BasicScraper): class Dracula(_BasicScraper):
latestUrl = 'http://draculacomic.net/' latestUrl = 'http://draculacomic.net/'
imageUrl = 'http://draculacomic.net/comic.php?comicID=%s' stripUrl = 'http://draculacomic.net/comic.php?comicID=%s'
imageSearch = compile(r'<img src="(comics/.+?)"') imageSearch = compile(r'<img src="(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'
@ -79,7 +79,7 @@ class Dracula(_BasicScraper):
class DragonTails(_BasicScraper): class DragonTails(_BasicScraper):
latestUrl = 'http://www.dragon-tails.com/' latestUrl = 'http://www.dragon-tails.com/'
imageUrl = 'http://www.dragon-tails.com/archive.php?date=%s' stripUrl = 'http://www.dragon-tails.com/archive.php?date=%s'
imageSearch = compile(r'"(newcomic/.+?)"') imageSearch = compile(r'"(newcomic/.+?)"')
prevSearch = compile(r'"(archive.+?)">.+n_2') prevSearch = compile(r'"(archive.+?)">.+n_2')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -87,7 +87,7 @@ class DragonTails(_BasicScraper):
class DreamKeepersPrelude(_BasicScraper): class DreamKeepersPrelude(_BasicScraper):
latestUrl = 'http://www.dreamkeeperscomic.com/Prelude.php' latestUrl = 'http://www.dreamkeeperscomic.com/Prelude.php'
imageUrl = 'http://www.dreamkeeperscomic.com/Prelude.php?pg=%s' stripUrl = 'http://www.dreamkeeperscomic.com/Prelude.php?pg=%s'
imageSearch = compile(r'(images/PreludeNew/.+?)"') imageSearch = compile(r'(images/PreludeNew/.+?)"')
prevSearch = compile(r'(Prelude.php\?pg=.+?)"') prevSearch = compile(r'(Prelude.php\?pg=.+?)"')
help = 'Index format: n' help = 'Index format: n'
@ -95,7 +95,7 @@ class DreamKeepersPrelude(_BasicScraper):
class Drowtales(_BasicScraper): class Drowtales(_BasicScraper):
latestUrl = 'http://www.drowtales.com/mainarchive.php' latestUrl = 'http://www.drowtales.com/mainarchive.php'
imageUrl = 'http://www.drowtales.com/mainarchive.php?location=%s' stripUrl = 'http://www.drowtales.com/mainarchive.php?location=%s'
imageSearch = compile(r'src=".(/tmpmanga/.+?)"') imageSearch = compile(r'src=".(/tmpmanga/.+?)"')
prevSearch = compile(r'<a href="mainarchive.php(\?location=\d+)"><img src="[^"]*previousday\.gif"') prevSearch = compile(r'<a href="mainarchive.php(\?location=\d+)"><img src="[^"]*previousday\.gif"')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -103,7 +103,7 @@ class Drowtales(_BasicScraper):
class DungeonCrawlInc(_BasicScraper): class DungeonCrawlInc(_BasicScraper):
latestUrl = 'http://www.dungeoncrawlinc.com/latest.html' latestUrl = 'http://www.dungeoncrawlinc.com/latest.html'
imageUrl = 'http://www.dungeoncrawlinc.com/comic%s' stripUrl = 'http://www.dungeoncrawlinc.com/comic%s'
imageSearch = compile(r'src="(.+?/DCI_.+?)"') imageSearch = compile(r'src="(.+?/DCI_.+?)"')
prevSearch = compile(r'<a href="(.+?)">.+?back') prevSearch = compile(r'<a href="(.+?)">.+?back')
help = 'Index format: nnn.html' help = 'Index format: nnn.html'
@ -112,7 +112,7 @@ class DungeonCrawlInc(_BasicScraper):
class DieselSweeties(_BasicScraper): class DieselSweeties(_BasicScraper):
latestUrl = 'http://www.dieselsweeties.com/' latestUrl = 'http://www.dieselsweeties.com/'
imageUrl = 'http://www.dieselsweeties.com/archive/%s' stripUrl = 'http://www.dieselsweeties.com/archive/%s'
imageSearch = compile(r'src="(/hstrips/.+?)"') imageSearch = compile(r'src="(/hstrips/.+?)"')
prevSearch = compile(r'href="(/archive/.+?)">(<img src="http://www.dieselsweeties.com/ximages/blackbackarrow160.png|previous webcomic)') prevSearch = compile(r'href="(/archive/.+?)">(<img src="http://www.dieselsweeties.com/ximages/blackbackarrow160.png|previous webcomic)')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -126,7 +126,7 @@ class DieselSweeties(_BasicScraper):
class DominicDeegan(_BasicScraper): class DominicDeegan(_BasicScraper):
latestUrl = 'http://www.dominic-deegan.com/' latestUrl = 'http://www.dominic-deegan.com/'
imageUrl = 'http://www.dominic-deegan.com/view.php?date=%s' stripUrl = 'http://www.dominic-deegan.com/view.php?date=%s'
imageSearch = compile(r'<img src="(.+?save-as=.+?)" alt') imageSearch = compile(r'<img src="(.+?save-as=.+?)" alt')
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'
@ -139,7 +139,7 @@ class DominicDeegan(_BasicScraper):
class DorkTower(_BasicScraper): class DorkTower(_BasicScraper):
latestUrl = 'http://www.dorktower.com/' latestUrl = 'http://www.dorktower.com/'
imageUrl = None stripUrl = None
imageSearch = compile(r'<img src="(http://www\.dorktower\.com/images/comics/[^"]+)"') imageSearch = compile(r'<img src="(http://www\.dorktower\.com/images/comics/[^"]+)"')
prevSearch = compile(r'<a href="(/previous\.php\?[^"]+)"') prevSearch = compile(r'<a href="(/previous\.php\?[^"]+)"')
help = 'Index format: None' help = 'Index format: None'
@ -148,7 +148,7 @@ class DorkTower(_BasicScraper):
class DresdenCodak(_BasicScraper): class DresdenCodak(_BasicScraper):
latestUrl = 'http://dresdencodak.com/' latestUrl = 'http://dresdencodak.com/'
imageUrl = None stripUrl = None
imageSearch = compile(r'<img src="http://dresdencodak.com(/comics/.*?\.jpg)"') imageSearch = compile(r'<img src="http://dresdencodak.com(/comics/.*?\.jpg)"')
prevSearch = compile(r'<a href="http://dresdencodak.com(/.*?)"><img src=http://dresdencodak.com/m_prev.png>') prevSearch = compile(r'<a href="http://dresdencodak.com(/.*?)"><img src=http://dresdencodak.com/m_prev.png>')
starter = indirectStarter('http://dresdencodak.com/', compile(r'<div id="preview"><a href="http://dresdencodak.com/(\d+/\d+/\d+/.*?)">')) starter = indirectStarter('http://dresdencodak.com/', compile(r'<div id="preview"><a href="http://dresdencodak.com/(\d+/\d+/\d+/.*?)">'))
@ -157,7 +157,7 @@ class DresdenCodak(_BasicScraper):
class DonkBirds(_BasicScraper): class DonkBirds(_BasicScraper):
latestUrl = 'http://www.donkbirds.com/' latestUrl = 'http://www.donkbirds.com/'
imageUrl = 'http://www.donkbirds.com/index.php?date=%s' stripUrl = 'http://www.donkbirds.com/index.php?date=%s'
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'
@ -166,7 +166,7 @@ class DonkBirds(_BasicScraper):
class DrawnByDrunks(_BasicScraper): class DrawnByDrunks(_BasicScraper):
starter = bounceStarter('http://www.drawnbydrunks.co.uk/', compile(r'<div class="nav-last"><a href="(.+?)">')) starter = bounceStarter('http://www.drawnbydrunks.co.uk/', compile(r'<div class="nav-last"><a href="(.+?)">'))
imageUrl = 'http://www.drawnbydrunks.co.uk/?p=%s' stripUrl = 'http://www.drawnbydrunks.co.uk/?p=%s'
imageSearch = compile(r'<img src="(http://www.drawnbydrunks.co.uk/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.drawnbydrunks.co.uk/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -179,7 +179,7 @@ class DrawnByDrunks(_BasicScraper):
class DeathCord(_BasicScraper): class DeathCord(_BasicScraper):
latestUrl = 'http://deathchord.com/index.php' latestUrl = 'http://deathchord.com/index.php'
imageUrl = 'http://deathchord.com/__.php?comicID=%s' stripUrl = 'http://deathchord.com/__.php?comicID=%s'
imageSearch = compile(r'<img src="(http://deathchord.com/kill/\d+.+?)"') imageSearch = compile(r'<img src="(http://deathchord.com/kill/\d+.+?)"')
prevSearch = compile(r'</a>?.+?<a href="(http://deathchord.com/.+?)"><img[^>]+?alt="Previous" />') prevSearch = compile(r'</a>?.+?<a href="(http://deathchord.com/.+?)"><img[^>]+?alt="Previous" />')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -12,7 +12,7 @@ def drunkDuck(shortName):
(_BasicScraper,), (_BasicScraper,),
dict( dict(
name='DrunkDuck/' + shortName, name='DrunkDuck/' + shortName,
imageUrl='index.php?p=%s' % (shortName,), stripUrl='index.php?p=%s' % (shortName,),
imageSearch=compile(r"<img src='(http://[a-z0-9]*.drunkduck.com/[^/]*/pages/[^'/]+)'>", IGNORECASE), imageSearch=compile(r"<img src='(http://[a-z0-9]*.drunkduck.com/[^/]*/pages/[^'/]+)'>", IGNORECASE),
prevSearch=compile(linkSearch % ('previous',), IGNORECASE), prevSearch=compile(linkSearch % ('previous',), IGNORECASE),
help='Index format: n (unpadded)', help='Index format: n (unpadded)',

View file

@ -8,7 +8,7 @@ from ..scraper import _BasicScraper
class EerieCuties(_BasicScraper): class EerieCuties(_BasicScraper):
latestUrl = 'http://www.eeriecuties.com/' latestUrl = 'http://www.eeriecuties.com/'
imageUrl = 'http://www.eeriecuties.com/d/%s.html' stripUrl = 'http://www.eeriecuties.com/d/%s.html'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r'(/d/.+?.html).+?/previous_day.gif') prevSearch = compile(r'(/d/.+?.html).+?/previous_day.gif')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -17,7 +17,7 @@ class EerieCuties(_BasicScraper):
class EdgeTheDevilhunter(_BasicScraper): class EdgeTheDevilhunter(_BasicScraper):
name = 'KeenSpot/EdgeTheDevilhunter' name = 'KeenSpot/EdgeTheDevilhunter'
latestUrl = 'http://www.edgethedevilhunter.com/' latestUrl = 'http://www.edgethedevilhunter.com/'
imageUrl = 'http://www.edgethedevilhunter.com/comics/%s' stripUrl = 'http://www.edgethedevilhunter.com/comics/%s'
imageSearch = compile(r'(http://www.edgethedevilhunter.com/comics/.+?)" alt') imageSearch = compile(r'(http://www.edgethedevilhunter.com/comics/.+?)" alt')
prevSearch = compile(r'(http://www.edgethedevilhunter.com/comics/.+?)"><span class="prev') prevSearch = compile(r'(http://www.edgethedevilhunter.com/comics/.+?)"><span class="prev')
help = 'Index format: mmddyyyy or name' help = 'Index format: mmddyyyy or name'
@ -25,7 +25,7 @@ class EdgeTheDevilhunter(_BasicScraper):
class Eriadan(_BasicScraper): class Eriadan(_BasicScraper):
imageUrl = 'http://www.shockdom.com/eriadan/?p=%s' stripUrl = 'http://www.shockdom.com/eriadan/?p=%s'
imageSearch = compile(r'title="[^"]+?" src="http://www\.shockdom\.com/eriadan/(wp-content/uploads/.+?)"') imageSearch = compile(r'title="[^"]+?" src="http://www\.shockdom\.com/eriadan/(wp-content/uploads/.+?)"')
prevSearch = compile(r"<link rel='prev' title='.+?' href='http://www\.shockdom\.com/eriadan/(\?p=.+?)'") prevSearch = compile(r"<link rel='prev' title='.+?' href='http://www\.shockdom\.com/eriadan/(\?p=.+?)'")
starter = indirectStarter('http://www.shockdom.com/eriadan/', compile(r'<ul class="latest2">[^<]+?<li class="list-title"><a href="(http://www\.shockdom.com/eriadan/\?p=.+?)"')) starter = indirectStarter('http://www.shockdom.com/eriadan/', compile(r'<ul class="latest2">[^<]+?<li class="list-title"><a href="(http://www\.shockdom.com/eriadan/\?p=.+?)"'))
@ -40,7 +40,7 @@ class Eriadan(_BasicScraper):
class ElGoonishShive(_BasicScraper): class ElGoonishShive(_BasicScraper):
name = 'KeenSpot/ElGoonishShive' name = 'KeenSpot/ElGoonishShive'
latestUrl = 'http://www.egscomics.com/' latestUrl = 'http://www.egscomics.com/'
imageUrl = 'http://www.egscomics.com/?date=%s' stripUrl = 'http://www.egscomics.com/?date=%s'
imageSearch = compile(r"'(comics/.+?)'") imageSearch = compile(r"'(comics/.+?)'")
prevSearch = compile(r"<a href='(/\?date=.+?)'.+?arrow_prev.gif") prevSearch = compile(r"<a href='(/\?date=.+?)'.+?arrow_prev.gif")
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -50,7 +50,7 @@ class ElGoonishShive(_BasicScraper):
class ElGoonishShiveNP(_BasicScraper): class ElGoonishShiveNP(_BasicScraper):
name = 'KeenSpot/ElGoonishShiveNP' name = 'KeenSpot/ElGoonishShiveNP'
latestUrl = 'http://www.egscomics.com/egsnp/' latestUrl = 'http://www.egscomics.com/egsnp/'
imageUrl = 'http://www.egscomics.com/egsnp/?date=%s' stripUrl = 'http://www.egscomics.com/egsnp/?date=%s'
imageSearch = compile(r'<div class=\'comic2\'><img src=\'(comics/\d{4}/\d{2}.+?)\'') imageSearch = compile(r'<div class=\'comic2\'><img src=\'(comics/\d{4}/\d{2}.+?)\'')
prevSearch = compile(r'<a href=\'(.+?)\'[^>]+?onmouseover=\'\$\("navimg(6|2)"\)') prevSearch = compile(r'<a href=\'(.+?)\'[^>]+?onmouseover=\'\$\("navimg(6|2)"\)')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -59,7 +59,7 @@ class ElGoonishShiveNP(_BasicScraper):
class ElsieHooper(_BasicScraper): class ElsieHooper(_BasicScraper):
latestUrl = 'http://www.elsiehooper.com/todaysserial.htm' latestUrl = 'http://www.elsiehooper.com/todaysserial.htm'
imageUrl = 'http://www.elsiehooper.com/comics/comic%s.htm' stripUrl = 'http://www.elsiehooper.com/comics/comic%s.htm'
imageSearch = compile(r'<img src="(/comics_/.+?)">') imageSearch = compile(r'<img src="(/comics_/.+?)">')
prevSearch = compile(r'<A href="(.+?)"><IMG (height=27 src="/images/previous.gif"|src="/images/previous.gif")', IGNORECASE) prevSearch = compile(r'<A href="(.+?)"><IMG (height=27 src="/images/previous.gif"|src="/images/previous.gif")', IGNORECASE)
help = 'Index format: nnn' help = 'Index format: nnn'
@ -68,7 +68,7 @@ class ElsieHooper(_BasicScraper):
class EmergencyExit(_BasicScraper): class EmergencyExit(_BasicScraper):
latestUrl = 'http://www.eecomics.net/' latestUrl = 'http://www.eecomics.net/'
imageUrl = '' stripUrl = ''
imageSearch = compile(r'"(comics/.+?)"') imageSearch = compile(r'"(comics/.+?)"')
prevSearch = compile(r'START.+?"(.+?)"') prevSearch = compile(r'START.+?"(.+?)"')
help = 'God help us now!' help = 'God help us now!'
@ -77,7 +77,7 @@ class EmergencyExit(_BasicScraper):
class ErrantStory(_BasicScraper): class ErrantStory(_BasicScraper):
latestUrl = 'http://www.errantstory.com/' latestUrl = 'http://www.errantstory.com/'
imageUrl = 'http://www.errantstory.com/archive.php?date=%s' stripUrl = 'http://www.errantstory.com/archive.php?date=%s'
imageSearch = compile(r'<img[^>]+?src="([^"]*?comics/.+?)"') imageSearch = compile(r'<img[^>]+?src="([^"]*?comics/.+?)"')
prevSearch = compile(r'><a href="(.+?)">&lt;Previous</a>') prevSearch = compile(r'><a href="(.+?)">&lt;Previous</a>')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -86,7 +86,7 @@ class ErrantStory(_BasicScraper):
class EternalVenture(_BasicScraper): class EternalVenture(_BasicScraper):
latestUrl = 'http://www.pulledpunches.com/venture/' latestUrl = 'http://www.pulledpunches.com/venture/'
imageUrl = 'http://www.beaglespace.com/pulledpunches/venture/?p=%s' stripUrl = 'http://www.beaglespace.com/pulledpunches/venture/?p=%s'
imageSearch = compile(r'<img src="(http://www.beaglespace.com/pulledpunches/venture/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.beaglespace.com/pulledpunches/venture/comics/.+?)"')
prevSearch = compile(r'id="prev"><a href="(http://www.beaglespace.com/pulledpunches/venture/.+?)" ') prevSearch = compile(r'id="prev"><a href="(http://www.beaglespace.com/pulledpunches/venture/.+?)" ')
help = 'Index format: nn' help = 'Index format: nn'
@ -95,7 +95,7 @@ class EternalVenture(_BasicScraper):
class Evercrest(_BasicScraper): class Evercrest(_BasicScraper):
latestUrl = 'http://www.evercrest.com/archives/20030308' latestUrl = 'http://www.evercrest.com/archives/20030308'
imageUrl = 'http://www.evercrest.com/archives/%s' stripUrl = 'http://www.evercrest.com/archives/%s'
imageSearch = compile(r'<img.+?src="([^"]*/(images/oldstrips|archives/i)/[^"]*)"') imageSearch = compile(r'<img.+?src="([^"]*/(images/oldstrips|archives/i)/[^"]*)"')
prevSearch = compile(r'<a.+?href="(http://www.evercrest.com/archives/\d+)">&lt; Previous') prevSearch = compile(r'<a.+?href="(http://www.evercrest.com/archives/\d+)">&lt; Previous')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -103,7 +103,7 @@ class Evercrest(_BasicScraper):
class EverybodyLovesEricRaymond(_BasicScraper): class EverybodyLovesEricRaymond(_BasicScraper):
latestUrl = 'http://geekz.co.uk/lovesraymond/' latestUrl = 'http://geekz.co.uk/lovesraymond/'
imageUrl = 'http://geekz.co.uk/lovesraymond/archive/%s' stripUrl = 'http://geekz.co.uk/lovesraymond/archive/%s'
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'
@ -111,7 +111,7 @@ class EverybodyLovesEricRaymond(_BasicScraper):
class EvilDiva(_BasicScraper): class EvilDiva(_BasicScraper):
latestUrl = 'http://www.evildivacomics.com/' latestUrl = 'http://www.evildivacomics.com/'
imageUrl = 'http://www.evildivacomics.com/%s.html' stripUrl = 'http://www.evildivacomics.com/%s.html'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r'http.+?com/(.+?)".+?"prev') prevSearch = compile(r'http.+?com/(.+?)".+?"prev')
help = 'Index format: cpn (unpadded)' help = 'Index format: cpn (unpadded)'
@ -120,7 +120,7 @@ class EvilDiva(_BasicScraper):
class Exiern(_BasicScraper): class Exiern(_BasicScraper):
latestUrl = 'http://www.exiern.com/' latestUrl = 'http://www.exiern.com/'
imageUrl = 'http://www.exiern.com/comic/%s' stripUrl = 'http://www.exiern.com/comic/%s'
imageSearch = compile(r'<img src="(http://www.exiern.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.exiern.com/comics/.+?)"')
prevSearch = compile(r'<a href="(http://www.exiern.com/.+?)" class="navi navi-prev"') prevSearch = compile(r'<a href="(http://www.exiern.com/.+?)" class="navi navi-prev"')
help = 'Index format: ChapterName-StripName' help = 'Index format: ChapterName-StripName'
@ -129,7 +129,7 @@ class Exiern(_BasicScraper):
class ExiernDarkReflections(_BasicScraper): class ExiernDarkReflections(_BasicScraper):
latestUrl = 'http://darkreflections.exiern.com/' latestUrl = 'http://darkreflections.exiern.com/'
imageUrl = 'http://darkreflections.exiern.com/index.php?strip_id=%s' stripUrl = 'http://darkreflections.exiern.com/index.php?strip_id=%s'
imageSearch = compile(r'"(istrip.+?)"') imageSearch = compile(r'"(istrip.+?)"')
prevSearch = compile(r'First.+?(/index.+?)".+?prev') prevSearch = compile(r'First.+?(/index.+?)".+?prev')
help = 'Index format: n' help = 'Index format: n'
@ -138,7 +138,7 @@ class ExiernDarkReflections(_BasicScraper):
class ExtraLife(_BasicScraper): class ExtraLife(_BasicScraper):
latestUrl = 'http://www.myextralife.com/' latestUrl = 'http://www.myextralife.com/'
imageUrl = 'http://www.myextralife.com/comic/%s/' stripUrl = 'http://www.myextralife.com/comic/%s/'
imageSearch = compile(r'<img src="(http://www.myextralife.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.myextralife.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://www.myextralife.com/comic/.+?)"') prevSearch = compile(r'<div class="nav-previous"><a href="(http://www.myextralife.com/comic/.+?)"')
help = 'Index format: mmddyyyy' help = 'Index format: mmddyyyy'
@ -147,7 +147,7 @@ class ExtraLife(_BasicScraper):
class EyeOfRamalach(_BasicScraper): class EyeOfRamalach(_BasicScraper):
latestUrl = 'http://theeye.katbox.net/' latestUrl = 'http://theeye.katbox.net/'
imageUrl = 'http://theeye.katbox.net/index.php?strip_id=%s' stripUrl = 'http://theeye.katbox.net/index.php?strip_id=%s'
imageSearch = compile(r'="(.+?strips/.+?)"') imageSearch = compile(r'="(.+?strips/.+?)"')
prevSearch = compile(r'(index.php\?strip_id=.+?)".+?navigation_back') prevSearch = compile(r'(index.php\?strip_id=.+?)".+?navigation_back')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -155,7 +155,7 @@ class EyeOfRamalach(_BasicScraper):
class EarthsongSaga(_BasicScraper): class EarthsongSaga(_BasicScraper):
latestUrl = 'http://www.earthsongsaga.com/' latestUrl = 'http://www.earthsongsaga.com/'
imageUrl = None stripUrl = None
imageSearch = compile(r'<img src="((?:\.\./)?images/vol\d+/ch\d+/\d+\.\w+)"') imageSearch = compile(r'<img src="((?:\.\./)?images/vol\d+/ch\d+/\d+\.\w+)"')
prevSearch = compile(r'<a href="([^"]+\.html)"[^>]*><img src="(?:(?:\.\.)?/)?images/testing/prev') prevSearch = compile(r'<a href="([^"]+\.html)"[^>]*><img src="(?:(?:\.\.)?/)?images/testing/prev')
starter = indirectStarter('http://www.earthsongsaga.com/', starter = indirectStarter('http://www.earthsongsaga.com/',
@ -170,7 +170,7 @@ class EarthsongSaga(_BasicScraper):
class ExploitationNow(_BasicScraper): class ExploitationNow(_BasicScraper):
latestUrl = 'http://exploitationnow.com/' latestUrl = 'http://exploitationnow.com/'
imageUrl = 'http://exploitationnow.com/comic.php?date=%s' stripUrl = 'http://exploitationnow.com/comic.php?date=%s'
imageSearch = compile(r'src="(comics/.+?)"') imageSearch = compile(r'src="(comics/.+?)"')
prevSearch = compile(r' <a href="(.+?)" title="\[Back\]">') prevSearch = compile(r' <a href="(.+?)" title="\[Back\]">')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -179,7 +179,7 @@ class ExploitationNow(_BasicScraper):
class Ellerbisms(_BasicScraper): class Ellerbisms(_BasicScraper):
latestUrl = 'http://www.ellerbisms.com/' latestUrl = 'http://www.ellerbisms.com/'
imageUrl = 'http://www.ellerbisms.com/?p=%s' stripUrl = 'http://www.ellerbisms.com/?p=%s'
imageSearch = compile(r'<img src="(http://www.ellerbisms.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.ellerbisms.com/comics/.+?)"')
prevSearch = compile(r'<a href="(http://www.ellerbisms.com/.+?)"><span class="prev">') prevSearch = compile(r'<a href="(http://www.ellerbisms.com/.+?)"><span class="prev">')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -9,7 +9,7 @@ from ..helpers import indirectStarter
class FalconTwin(_BasicScraper): class FalconTwin(_BasicScraper):
latestUrl = 'http://www.falcontwin.com/' latestUrl = 'http://www.falcontwin.com/'
imageUrl = 'http://www.falcontwin.com/index.html?strip=%s' stripUrl = 'http://www.falcontwin.com/index.html?strip=%s'
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'
@ -17,14 +17,14 @@ class FalconTwin(_BasicScraper):
class FauxPas(_BasicScraper): class FauxPas(_BasicScraper):
latestUrl = 'http://www.ozfoxes.net/cgi/pl-fp1.cgi' latestUrl = 'http://www.ozfoxes.net/cgi/pl-fp1.cgi'
imageUrl = 'http://www.ozfoxes.net/cgi/pl-fp1.cgi?%s' stripUrl = 'http://www.ozfoxes.net/cgi/pl-fp1.cgi?%s'
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'
class FeyWinds(_BasicScraper): class FeyWinds(_BasicScraper):
imageUrl = 'http://kitsune.rydia.net/comic/page.php?id=%s' stripUrl = 'http://kitsune.rydia.net/comic/page.php?id=%s'
imageSearch = compile(r"(../comic/pages//.+?)'") imageSearch = compile(r"(../comic/pages//.+?)'")
prevSearch = compile(r"(page.php\?id=.+?)'.+?navprevious.png") prevSearch = compile(r"(page.php\?id=.+?)'.+?navprevious.png")
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -35,7 +35,7 @@ class FeyWinds(_BasicScraper):
class FightCastOrEvade(_BasicScraper): class FightCastOrEvade(_BasicScraper):
latestUrl = 'http://www.fightcastorevade.net/' latestUrl = 'http://www.fightcastorevade.net/'
imageUrl = 'http://www.fightcastorevade.net/d/%s' stripUrl = 'http://www.fightcastorevade.net/d/%s'
imageSearch = compile(r'<img src="(http://www.fightcastorevade.net/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.fightcastorevade.net/comics/.+?)"')
prevSearch = compile(r'"(.+?/d/.+?)".+?previous') prevSearch = compile(r'"(.+?/d/.+?)".+?previous')
help = 'Index format: yyyymmdd.html' help = 'Index format: yyyymmdd.html'
@ -44,7 +44,7 @@ class FightCastOrEvade(_BasicScraper):
class FilibusterCartoons(_BasicScraper): class FilibusterCartoons(_BasicScraper):
latestUrl = 'http://www.filibustercartoons.com/' latestUrl = 'http://www.filibustercartoons.com/'
imageUrl = 'http://www.filibustercartoons.com/index.php/%s' stripUrl = 'http://www.filibustercartoons.com/index.php/%s'
imageSearch = compile(r'<img src="(http://www.filibustercartoons.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.filibustercartoons.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><img src=\'(.+?/arrow-left.gif)\'') prevSearch = compile(r'<a href="(.+?)"><img src=\'(.+?/arrow-left.gif)\'')
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -53,7 +53,7 @@ class FilibusterCartoons(_BasicScraper):
class FlakyPastry(_BasicScraper): class FlakyPastry(_BasicScraper):
latestUrl = 'http://flakypastry.runningwithpencils.com/index.php' latestUrl = 'http://flakypastry.runningwithpencils.com/index.php'
imageUrl = 'http://flakypastry.runningwithpencils.com/comic.php\?strip_id=%s' stripUrl = 'http://flakypastry.runningwithpencils.com/comic.php\?strip_id=%s'
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'
@ -61,7 +61,7 @@ class FlakyPastry(_BasicScraper):
class Flipside(_BasicScraper): class Flipside(_BasicScraper):
latestUrl = 'http://www.flipsidecomics.com/comic.php' latestUrl = 'http://www.flipsidecomics.com/comic.php'
imageUrl = 'http://www.flipsidecomics.com/comic.php?i=%s' stripUrl = 'http://www.flipsidecomics.com/comic.php?i=%s'
imageSearch = compile(r'<IMG SRC="(comic/.+?)"') imageSearch = compile(r'<IMG SRC="(comic/.+?)"')
prevSearch = compile(r'<A HREF="(comic.php\?i=\d+?)">&lt') prevSearch = compile(r'<A HREF="(comic.php\?i=\d+?)">&lt')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -69,7 +69,7 @@ class Flipside(_BasicScraper):
class Footloose(_BasicScraper): class Footloose(_BasicScraper):
latestUrl = 'http://footloosecomic.com/footloose/today.php' latestUrl = 'http://footloosecomic.com/footloose/today.php'
imageUrl = 'http://footloosecomic.com/footloose/pages.php?page=%s' stripUrl = 'http://footloosecomic.com/footloose/pages.php?page=%s'
imageSearch = compile(r'<img src="/footloose/(.+?)"') imageSearch = compile(r'<img src="/footloose/(.+?)"')
prevSearch = compile(r'(?:first.+?[^>]).+?(/footloose/.+?)".+?(?:prev)') prevSearch = compile(r'(?:first.+?[^>]).+?(/footloose/.+?)".+?(?:prev)')
# prevSearch = compile(r'(?:first.+?[^>]).+?(/footloose/.+?html).+?(?:prev|Prev)') # prevSearch = compile(r'(?:first.+?[^>]).+?(/footloose/.+?html).+?(?:prev|Prev)')
@ -79,7 +79,7 @@ class Footloose(_BasicScraper):
class FragileGravity(_BasicScraper): class FragileGravity(_BasicScraper):
latestUrl = 'http://www.fragilegravity.com/' latestUrl = 'http://www.fragilegravity.com/'
imageUrl = 'http://www.fragilegravity.com/core.php?archive=%s' stripUrl = 'http://www.fragilegravity.com/core.php?archive=%s'
imageSearch = compile(r'<IMG SRC="(strips/.+?)"') imageSearch = compile(r'<IMG SRC="(strips/.+?)"')
prevSearch = compile(r'<A HREF="(.+?)"\nonMouseover="window.status=\'Previous Strip', MULTILINE | IGNORECASE) prevSearch = compile(r'<A HREF="(.+?)"\nonMouseover="window.status=\'Previous Strip', MULTILINE | IGNORECASE)
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -88,7 +88,7 @@ class FragileGravity(_BasicScraper):
class Freefall(_BasicScraper): class Freefall(_BasicScraper):
latestUrl = 'http://freefall.purrsia.com/default.htm' latestUrl = 'http://freefall.purrsia.com/default.htm'
imageUrl = 'http://freefall.purrsia.com/ff%s/fc%s.htm' stripUrl = 'http://freefall.purrsia.com/ff%s/fc%s.htm'
imageSearch = compile(r'<img src="(/ff\d+/.+?.\w{3,4})"') imageSearch = compile(r'<img src="(/ff\d+/.+?.\w{3,4})"')
prevSearch = compile(r'<A HREF="(/ff\d+/.+?.htm)">Previous</A>') prevSearch = compile(r'<A HREF="(/ff\d+/.+?.htm)">Previous</A>')
help = 'Index format: nnnn/nnnnn' help = 'Index format: nnnn/nnnnn'
@ -96,7 +96,7 @@ class Freefall(_BasicScraper):
class FantasyRealms(_BasicScraper): class FantasyRealms(_BasicScraper):
imageUrl = 'http://www.fantasyrealmsonline.com/manga/%s.php' stripUrl = 'http://www.fantasyrealmsonline.com/manga/%s.php'
imageSearch = compile(r'<img src="(\d{1,4}.\w{3,4})" width="540"', IGNORECASE) imageSearch = compile(r'<img src="(\d{1,4}.\w{3,4})" width="540"', IGNORECASE)
prevSearch = compile(r'<a href="(.+?)"><img src="../images/nav-back.gif"', IGNORECASE) prevSearch = compile(r'<a href="(.+?)"><img src="../images/nav-back.gif"', IGNORECASE)
help = 'Index format: nnn' help = 'Index format: nnn'
@ -107,14 +107,14 @@ class FantasyRealms(_BasicScraper):
class FullFrontalNerdity(_BasicScraper): class FullFrontalNerdity(_BasicScraper):
latestUrl = 'http://nodwick.humor.gamespy.com/ffn/index.php' latestUrl = 'http://nodwick.humor.gamespy.com/ffn/index.php'
imageUrl = None stripUrl = None
imageSearch = compile(r'<img src="(http://nodwick.humor.gamespy.com/ffn/strips/[^"]*)"', IGNORECASE) imageSearch = compile(r'<img src="(http://nodwick.humor.gamespy.com/ffn/strips/[^"]*)"', IGNORECASE)
prevSearch = compile(r'<a href="(index.php\?date=[0-9-]*)"><img src="back.jpg"', IGNORECASE) prevSearch = compile(r'<a href="(index.php\?date=[0-9-]*)"><img src="back.jpg"', IGNORECASE)
class FunInJammies(_BasicScraper): class FunInJammies(_BasicScraper):
latestUrl = 'http://www.funinjammies.com/' latestUrl = 'http://www.funinjammies.com/'
imageUrl = 'http://www.funinjammies.com/comic.php?issue=%s' stripUrl = 'http://www.funinjammies.com/comic.php?issue=%s'
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)'
@ -122,7 +122,7 @@ class FunInJammies(_BasicScraper):
class Fallen(_BasicScraper): class Fallen(_BasicScraper):
imageUrl = 'http://www.fallencomic.com/pages/part%s/%s-p%s.htm' stripUrl = 'http://www.fallencomic.com/pages/part%s/%s-p%s.htm'
imageSearch = compile(r'<IMG SRC="(page/.+?)"', IGNORECASE) imageSearch = compile(r'<IMG SRC="(page/.+?)"', IGNORECASE)
prevSearch = compile(r'<A HREF="(.+?)"><FONT FACE="Courier">Back', IGNORECASE) prevSearch = compile(r'<A HREF="(.+?)"><FONT FACE="Courier">Back', IGNORECASE)
help = 'Index format: nn-m (comicNumber-partNumber)' help = 'Index format: nn-m (comicNumber-partNumber)'
@ -137,13 +137,13 @@ class Fallen(_BasicScraper):
def setStrip(self, index): def setStrip(self, index):
index, part = index.split('-') index, part = index.split('-')
self.currentUrl = self.imageUrl % (part, index, part) self.currentUrl = self.stripUrl % (part, index, part)
class FoxTails(_BasicScraper): class FoxTails(_BasicScraper):
latestUrl = 'http://www.magickitsune.com/strips/current.html' latestUrl = 'http://www.magickitsune.com/strips/current.html'
imageUrl = 'http://www.magickitsune.com/strips/%s' stripUrl = 'http://www.magickitsune.com/strips/%s'
imageSearch = compile(r'<img src=(img/.+?)[ |>]', IGNORECASE) imageSearch = compile(r'<img src=(img/.+?)[ |>]', IGNORECASE)
prevSearch = compile(r'(?<=first.gif)*(?<=</td>)*<a.*href=\'(.+?)\'.+?<img.+?src=\'../img/prev.gif\'>', IGNORECASE) prevSearch = compile(r'(?<=first.gif)*(?<=</td>)*<a.*href=\'(.+?)\'.+?<img.+?src=\'../img/prev.gif\'>', IGNORECASE)
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'

View file

@ -8,7 +8,7 @@ from ..helpers import indirectStarter
class Galaxion(_BasicScraper): class Galaxion(_BasicScraper):
latestUrl = 'http://galaxioncomics.com/' latestUrl = 'http://galaxioncomics.com/'
imageUrl = 'http://galaxioncomics.com/?p=%s' stripUrl = 'http://galaxioncomics.com/?p=%s'
imageSearch = compile(r'(wordpress/comics/.+?)"') imageSearch = compile(r'(wordpress/comics/.+?)"')
prevSearch = compile(r'\| <a href="http://galaxioncomics.com/(\?p=.+?)".+?vious.gif') prevSearch = compile(r'\| <a href="http://galaxioncomics.com/(\?p=.+?)".+?vious.gif')
help = 'Index format: non' help = 'Index format: non'
@ -16,7 +16,7 @@ class Galaxion(_BasicScraper):
class Garanos(_BasicScraper): class Garanos(_BasicScraper):
latestUrl = 'http://www.garanos.com/' latestUrl = 'http://www.garanos.com/'
imageUrl = 'http://www.garanos.com/pages/page-%s' stripUrl = 'http://www.garanos.com/pages/page-%s'
imageSearch = compile(r'<img src=.+?(/pages/.+?)"') imageSearch = compile(r'<img src=.+?(/pages/.+?)"')
prevSearch = compile(r'<a href="(http://www.garanos.com/pages/page-.../)">&#9668; Previous<') prevSearch = compile(r'<a href="(http://www.garanos.com/pages/page-.../)">&#9668; Previous<')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -24,7 +24,7 @@ class Garanos(_BasicScraper):
class GUComics(_BasicScraper): class GUComics(_BasicScraper):
latestUrl = 'http://www.gucomics.com/comic/' latestUrl = 'http://www.gucomics.com/comic/'
imageUrl = 'http://www.gucomics.com/comic/?cdate=%s' stripUrl = 'http://www.gucomics.com/comic/?cdate=%s'
imageSearch = compile(r'<IMG src="(/comics/\d{4}/gu_.*?)"') imageSearch = compile(r'<IMG src="(/comics/\d{4}/gu_.*?)"')
prevSearch = compile(r'<A href="(/comic/\?cdate=\d+)"><IMG src="/images/cnav_prev') prevSearch = compile(r'<A href="(/comic/\?cdate=\d+)"><IMG src="/images/cnav_prev')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -33,7 +33,7 @@ class GUComics(_BasicScraper):
class GenrezvousPoint(_BasicScraper): class GenrezvousPoint(_BasicScraper):
latestUrl = 'http://genrezvouspoint.com/' latestUrl = 'http://genrezvouspoint.com/'
imageUrl = 'http://genrezvouspoint.com/index.php?comicID=%s' stripUrl = 'http://genrezvouspoint.com/index.php?comicID=%s'
imageSearch = compile(r'<img src=\'(comics/.+?)\'') imageSearch = compile(r'<img src=\'(comics/.+?)\'')
prevSearch = compile(r' <a[^>]+?href="(.+?)">PREVIOUS</a>') prevSearch = compile(r' <a[^>]+?href="(.+?)">PREVIOUS</a>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -42,7 +42,7 @@ class GenrezvousPoint(_BasicScraper):
class GirlGenius(_BasicScraper): class GirlGenius(_BasicScraper):
latestUrl = 'http://girlgeniusonline.com/comic.php' latestUrl = 'http://girlgeniusonline.com/comic.php'
imageUrl = 'http://www.girlgeniusonline.com/comic.php\?date=%s' stripUrl = 'http://www.girlgeniusonline.com/comic.php\?date=%s'
imageSearch = compile(r"(/ggmain/strips/.+?)'") imageSearch = compile(r"(/ggmain/strips/.+?)'")
prevSearch = compile(r"</a> <a href=.+?(/comic.php\?date=.+?)'.+?Previous") prevSearch = compile(r"</a> <a href=.+?(/comic.php\?date=.+?)'.+?Previous")
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -51,7 +51,7 @@ class GirlGenius(_BasicScraper):
class GirlsWithSlingshots(_BasicScraper): class GirlsWithSlingshots(_BasicScraper):
latestUrl = 'http://www.daniellecorsetto.com/gws.html' latestUrl = 'http://www.daniellecorsetto.com/gws.html'
imageUrl = 'http://www.daniellecorsetto.com/GWS%s.html' stripUrl = 'http://www.daniellecorsetto.com/GWS%s.html'
imageSearch = compile(r'<img src="(images/gws/GWS\d{3}.jpg)"') imageSearch = compile(r'<img src="(images/gws/GWS\d{3}.jpg)"')
prevSearch = compile(r'(archive.php\?today=\d{3}&comic=\d{3})"[^>]*><img[^>]+src="images/gwsmenu/back_off.jpg"') prevSearch = compile(r'(archive.php\?today=\d{3}&comic=\d{3})"[^>]*><img[^>]+src="images/gwsmenu/back_off.jpg"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -60,7 +60,7 @@ class GirlsWithSlingshots(_BasicScraper):
class Girly(_BasicScraper): class Girly(_BasicScraper):
latestUrl = 'http://girlyyy.com/' latestUrl = 'http://girlyyy.com/'
imageUrl = 'http://girlyyy.com/go/%s' stripUrl = 'http://girlyyy.com/go/%s'
imageSearch = compile(r'<img src="(http://girlyyy.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://girlyyy.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"> &nbsp;&lt;&nbsp;prev') prevSearch = compile(r'<a href="(.+?)"> &nbsp;&lt;&nbsp;prev')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -69,7 +69,7 @@ class Girly(_BasicScraper):
class Goats(_BasicScraper): class Goats(_BasicScraper):
latestUrl = 'http://www.goats.com/' latestUrl = 'http://www.goats.com/'
imageUrl = 'http://www.goats.com/archive/%s.html' stripUrl = 'http://www.goats.com/archive/%s.html'
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'
@ -79,7 +79,7 @@ class Goats(_BasicScraper):
class GoneWithTheBlastwave(_BasicScraper): class GoneWithTheBlastwave(_BasicScraper):
starter = indirectStarter('http://www.blastwave-comic.com/index.php?p=comic&nro=1', starter = indirectStarter('http://www.blastwave-comic.com/index.php?p=comic&nro=1',
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'))
imageUrl = 'http://www.blastwave-comic.com/index.php?p=comic&nro=%s' stripUrl = 'http://www.blastwave-comic.com/index.php?p=comic&nro=%s'
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'
@ -92,7 +92,7 @@ class GoneWithTheBlastwave(_BasicScraper):
class GunnerkrigCourt(_BasicScraper): class GunnerkrigCourt(_BasicScraper):
latestUrl = 'http://www.gunnerkrigg.com/index2.php' latestUrl = 'http://www.gunnerkrigg.com/index2.php'
imageUrl = 'http://www.gunnerkrigg.com/archive_page.php\?comicID=%s' stripUrl = 'http://www.gunnerkrigg.com/archive_page.php\?comicID=%s'
imageSearch = compile(r'<img src="(.+?//comics/.+?)"') imageSearch = compile(r'<img src="(.+?//comics/.+?)"')
prevSearch = compile(r'<.+?(/archive_page.php\?comicID=.+?)".+?prev') prevSearch = compile(r'<.+?(/archive_page.php\?comicID=.+?)".+?prev')
help = 'Index format: n' help = 'Index format: n'
@ -101,7 +101,7 @@ class GunnerkrigCourt(_BasicScraper):
class Gunshow(_BasicScraper): class Gunshow(_BasicScraper):
latestUrl = 'http://gunshowcomic.com/' latestUrl = 'http://gunshowcomic.com/'
imageUrl = 'http://gunshowcomic.com/d/%s.html' stripUrl = 'http://gunshowcomic.com/d/%s.html'
imageSearch = compile(r'src="(/comics/.+?)"') imageSearch = compile(r'src="(/comics/.+?)"')
prevSearch = compile(r'(/d/\d+\.html)"><img[^>]+?src="/images/previous_day') prevSearch = compile(r'(/d/\d+\.html)"><img[^>]+?src="/images/previous_day')
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'
@ -110,7 +110,7 @@ class Gunshow(_BasicScraper):
class GleefulNihilism(_BasicScraper): class GleefulNihilism(_BasicScraper):
latestUrl = 'http://gleefulnihilism.com/' latestUrl = 'http://gleefulnihilism.com/'
imageUrl = 'http://gleefulnihilism.com/comics/2009/12/01/just-one-of-the-perks/%s' stripUrl = 'http://gleefulnihilism.com/comics/2009/12/01/just-one-of-the-perks/%s'
imageSearch = compile(r'<img src="(http://gleefulnihilism.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://gleefulnihilism.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"[^>]+?>Previous</a>') prevSearch = compile(r'<a href="(.+?)"[^>]+?>Previous</a>')
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'
@ -119,7 +119,7 @@ class GleefulNihilism(_BasicScraper):
class GastroPhobia(_BasicScraper): class GastroPhobia(_BasicScraper):
latestUrl = 'http://www.gastrophobia.com/' latestUrl = 'http://www.gastrophobia.com/'
imageUrl = 'http://www.gastrophobia.com/index.php?date=%s' stripUrl = 'http://www.gastrophobia.com/index.php?date=%s'
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'
@ -128,7 +128,7 @@ class GastroPhobia(_BasicScraper):
class Geeks(_BasicScraper): class Geeks(_BasicScraper):
latestUrl = 'http://sevenfloorsdown.com/geeks/' latestUrl = 'http://sevenfloorsdown.com/geeks/'
imageUrl = 'http://sevenfloorsdown.com/geeks/archives/%s' stripUrl = 'http://sevenfloorsdown.com/geeks/archives/%s'
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'
@ -137,7 +137,7 @@ class Geeks(_BasicScraper):
class GlassHalfEmpty(_BasicScraper): class GlassHalfEmpty(_BasicScraper):
latestUrl = 'http://www.defectivity.com/ghe/index.php' latestUrl = 'http://www.defectivity.com/ghe/index.php'
imageUrl = 'http://www.defectivity.com/ghe/index.php?strip_id=%s' stripUrl = 'http://www.defectivity.com/ghe/index.php?strip_id=%s'
imageSearch = compile(r'src="(comics/.+?)"') imageSearch = compile(r'src="(comics/.+?)"')
prevSearch = compile(r'</a><a href="(.+?)"><img src="\.\./images/onback\.jpg"') prevSearch = compile(r'</a><a href="(.+?)"><img src="\.\./images/onback\.jpg"')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -7,7 +7,7 @@ from ..scraper import _BasicScraper
class HappyMedium(_BasicScraper): class HappyMedium(_BasicScraper):
latestUrl = 'http://happymedium.fast-bee.com/' latestUrl = 'http://happymedium.fast-bee.com/'
imageUrl = 'http://happymedium.fast-bee.com/%s' stripUrl = 'http://happymedium.fast-bee.com/%s'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r'com(/.+?)".+?"prev">&#9668') prevSearch = compile(r'com(/.+?)".+?"prev">&#9668')
help = 'Index format: yyyy/mm/chapter-n-page-n' help = 'Index format: yyyy/mm/chapter-n-page-n'
@ -16,7 +16,7 @@ class HappyMedium(_BasicScraper):
class Heliothaumic(_BasicScraper): class Heliothaumic(_BasicScraper):
latestUrl = 'http://thaumic.net/' latestUrl = 'http://thaumic.net/'
imageUrl = 'http://thaumic.net/%s' stripUrl = 'http://thaumic.net/%s'
imageSearch = compile(r'<img src="(http://thaumic.net/comics/.+?)"') imageSearch = compile(r'<img src="(http://thaumic.net/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(http://thaumic.net/.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(http://thaumic.net/.+?)">')
help = 'Index format: yyyy/mm/dd/n(unpadded)-comicname' help = 'Index format: yyyy/mm/dd/n(unpadded)-comicname'
@ -25,7 +25,7 @@ class Heliothaumic(_BasicScraper):
class Housd(_BasicScraper): class Housd(_BasicScraper):
latestUrl = 'http://housd.net/archive_page.php?comicID=1284' latestUrl = 'http://housd.net/archive_page.php?comicID=1284'
imageUrl = 'http://housd.net/archive_page.php?comicID=%s' stripUrl = 'http://housd.net/archive_page.php?comicID=%s'
imageSearch = compile(r'"(.+?/comics/.+?)"') imageSearch = compile(r'"(.+?/comics/.+?)"')
prevSearch = compile(r'"(h.+?comicID=.+?)".+?prev') prevSearch = compile(r'"(h.+?comicID=.+?)".+?prev')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -34,7 +34,7 @@ class Housd(_BasicScraper):
class HateSong(_BasicScraper): class HateSong(_BasicScraper):
latestUrl = 'http://hatesong.com/' latestUrl = 'http://hatesong.com/'
imageUrl = 'http://hatesong.com/%s/' stripUrl = 'http://hatesong.com/%s/'
imageSearch = compile(r'src="(http://www.hatesong.com/strips/.+?)"') imageSearch = compile(r'src="(http://www.hatesong.com/strips/.+?)"')
prevSearch = compile(r'<div class="headernav"><a href="(http://hatesong.com/\d{4}/\d{2}/\d{2})') prevSearch = compile(r'<div class="headernav"><a href="(http://hatesong.com/\d{4}/\d{2}/\d{2})')
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'
@ -43,7 +43,7 @@ class HateSong(_BasicScraper):
class HorribleVille(_BasicScraper): class HorribleVille(_BasicScraper):
latestUrl = 'http://horribleville.com/d/20090517.html' latestUrl = 'http://horribleville.com/d/20090517.html'
imageUrl = 'http://horribleville.com/d/%s.html' stripUrl = 'http://horribleville.com/d/%s.html'
imageSearch = compile(r'src="(/comics/.+?)"') imageSearch = compile(r'src="(/comics/.+?)"')
prevSearch = compile(r'(\d+\.html)"><img[^>]+?src="/images/previous_day.png"') prevSearch = compile(r'(\d+\.html)"><img[^>]+?src="/images/previous_day.png"')
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'
@ -52,7 +52,7 @@ class HorribleVille(_BasicScraper):
class HelpDesk(_BasicScraper): class HelpDesk(_BasicScraper):
latestUrl = 'http://www.ubersoft.net/' latestUrl = 'http://www.ubersoft.net/'
imageUrl = 'http://www.ubersoft.net/comic/hd/%s/%s/%s' stripUrl = 'http://www.ubersoft.net/comic/hd/%s/%s/%s'
imageSearch = compile(r'src="(http://www.ubersoft.net/files/comics/hd/hd\d{8}.png)') imageSearch = compile(r'src="(http://www.ubersoft.net/files/comics/hd/hd\d{8}.png)')
prevSearch = compile(r'<a href="(/comic/.+?)">(.+?)previous</a>') prevSearch = compile(r'<a href="(/comic/.+?)">(.+?)previous</a>')
help = 'Index format: yyyy/mm/name' help = 'Index format: yyyy/mm/name'
@ -61,7 +61,7 @@ class HelpDesk(_BasicScraper):
class HardGraft(_BasicScraper): class HardGraft(_BasicScraper):
latestUrl = 'http://hard-graft.net/' latestUrl = 'http://hard-graft.net/'
imageUrl = 'http://hard-graft.net/?p=%s' stripUrl = 'http://hard-graft.net/?p=%s'
imageSearch = compile(r'<img src="(http://hard-graft.net/comics/.+?)"') imageSearch = compile(r'<img src="(http://hard-graft.net/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)"') prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)"')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -7,7 +7,7 @@ from ..scraper import _BasicScraper
class IDreamOfAJeanieBottle(_BasicScraper): class IDreamOfAJeanieBottle(_BasicScraper):
latestUrl = 'http://jeaniebottle.com/' latestUrl = 'http://jeaniebottle.com/'
imageUrl = 'http://jeaniebottle.com/review.php?comicID=' stripUrl = 'http://jeaniebottle.com/review.php?comicID='
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r'First".+?(review.php.+?)".+?prev_a.gif') prevSearch = compile(r'First".+?(review.php.+?)".+?prev_a.gif')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -15,7 +15,7 @@ class IDreamOfAJeanieBottle(_BasicScraper):
class IrregularWebcomic(_BasicScraper): class IrregularWebcomic(_BasicScraper):
latestUrl = 'http://www.irregularwebcomic.net/' latestUrl = 'http://www.irregularwebcomic.net/'
imageUrl = 'http://www.irregularwebcomic.net/cgi-bin/comic.pl?comic=%s' stripUrl = 'http://www.irregularwebcomic.net/cgi-bin/comic.pl?comic=%s'
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'
@ -23,7 +23,7 @@ class IrregularWebcomic(_BasicScraper):
class InsideOut(_BasicScraper): class InsideOut(_BasicScraper):
latestUrl = 'http://www.insideoutcomic.com/' latestUrl = 'http://www.insideoutcomic.com/'
imageUrl = 'http://www.insideoutcomic.com/html/%s.html' stripUrl = 'http://www.insideoutcomic.com/html/%s.html'
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'
@ -48,7 +48,7 @@ def inkTank(name, shortName):
dict( dict(
name='InkTank/' + name, name='InkTank/' + name,
latestUrl=baseUrl, latestUrl=baseUrl,
imageUrl=baseUrl + 'd/%s.html', stripUrl=baseUrl + 'd/%s.html',
imageSearch=compile(r'<IMG SRC="(/images/[^/]+/cartoons/\d{2}-\d{2}-\d{2}.+?)"'), imageSearch=compile(r'<IMG SRC="(/images/[^/]+/cartoons/\d{2}-\d{2}-\d{2}.+?)"'),
prevSearch=compile(r'<A HREF="(/[^/]+/index.cfm\?nav=\d+?)"><IMG SRC="/images/nav_last.gif"'), prevSearch=compile(r'<A HREF="(/[^/]+/index.cfm\?nav=\d+?)"><IMG SRC="/images/nav_last.gif"'),
help='Index format: n (unpadded)') help='Index format: n (unpadded)')
@ -63,7 +63,7 @@ swo = inkTank('SorryWereOpen', 'SWO')
class IlmanNaista(_BasicScraper): class IlmanNaista(_BasicScraper):
latestUrl = 'http://kvantti.tky.fi/in/archive_end.shtml' latestUrl = 'http://kvantti.tky.fi/in/archive_end.shtml'
imageUrl = 'http://kvantti.tky.fi/in/%s.shtml' stripUrl = 'http://kvantti.tky.fi/in/%s.shtml'
imageSearch = compile(r'<img src="(kuvat/in_.+?)"', IGNORECASE) imageSearch = compile(r'<img src="(kuvat/in_.+?)"', IGNORECASE)
prevSearch = compile(r'<a href="(\d+.shtml)"><img width="90" height="45" src="deco/edellinen.png" alt="Edellinen"/></a>') prevSearch = compile(r'<a href="(\d+.shtml)"><img width="90" height="45" src="deco/edellinen.png" alt="Edellinen"/></a>')
@ -71,7 +71,7 @@ class IlmanNaista(_BasicScraper):
class ICantDrawFeet(_BasicScraper): class ICantDrawFeet(_BasicScraper):
latestUrl = 'http://icantdrawfeet.com/' latestUrl = 'http://icantdrawfeet.com/'
imageUrl = 'http://icantdrawfeet.com/%s' stripUrl = 'http://icantdrawfeet.com/%s'
imageSearch = compile(r'src="(http://icantdrawfeet.com/comics/.+?)"') imageSearch = compile(r'src="(http://icantdrawfeet.com/comics/.+?)"')
prevSearch = compile(r'<a href="(http://icantdrawfeet.com/.+?)"><img src="http://icantdrawfeet.com/pageimages/prev.png"') prevSearch = compile(r'<a href="(http://icantdrawfeet.com/.+?)"><img src="http://icantdrawfeet.com/pageimages/prev.png"')
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'

View file

@ -7,7 +7,7 @@ from ..scraper import _BasicScraper
class Jack(_BasicScraper): class Jack(_BasicScraper):
latestUrl = 'http://www.pholph.com/' latestUrl = 'http://www.pholph.com/'
imageUrl = 'http://www.pholph.com/strip.php?id=5&sid=%s' stripUrl = 'http://www.pholph.com/strip.php?id=5&sid=%s'
imageSearch = compile(r'<img src="(./artwork/.+?/Jack.+?)"') imageSearch = compile(r'<img src="(./artwork/.+?/Jack.+?)"')
prevSearch = compile(r'\|<a href="(.+?)">Previous Strip</a>') prevSearch = compile(r'\|<a href="(.+?)">Previous Strip</a>')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -16,7 +16,7 @@ class Jack(_BasicScraper):
class JerkCity(_BasicScraper): class JerkCity(_BasicScraper):
latestUrl = 'http://www.jerkcity.com/' latestUrl = 'http://www.jerkcity.com/'
imageUrl = 'http://www.jerkcity.com/jerkcity%s' stripUrl = 'http://www.jerkcity.com/jerkcity%s'
imageSearch = compile(r'"jerkcity.+?">.+?"(/jerkcity.+?)"') imageSearch = compile(r'"jerkcity.+?">.+?"(/jerkcity.+?)"')
prevSearch = compile(r'"(jerkcity.+?)">.+?"/jerkcity.+?"') prevSearch = compile(r'"(jerkcity.+?)">.+?"/jerkcity.+?"')
help = 'Index format: unknown' help = 'Index format: unknown'
@ -25,7 +25,7 @@ class JerkCity(_BasicScraper):
class JoeAndMonkey(_BasicScraper): class JoeAndMonkey(_BasicScraper):
latestUrl = 'http://www.joeandmonkey.com/' latestUrl = 'http://www.joeandmonkey.com/'
imageUrl = 'http://www.joeandmonkey.com/%s' stripUrl = 'http://www.joeandmonkey.com/%s'
imageSearch = compile(r'"(/comic/[^"]+)"') imageSearch = compile(r'"(/comic/[^"]+)"')
prevSearch = compile(r"<a href='(/\d+)'>Previous") prevSearch = compile(r"<a href='(/\d+)'>Previous")
help = 'Index format: nnn' help = 'Index format: nnn'
@ -34,7 +34,7 @@ class JoeAndMonkey(_BasicScraper):
class JoyOfTech(_BasicScraper): class JoyOfTech(_BasicScraper):
latestUrl = 'http://www.geekculture.com/joyoftech/index.html' latestUrl = 'http://www.geekculture.com/joyoftech/index.html'
imageUrl = 'http://www.geekculture.com/joyoftech/joyarchives/%s.html' stripUrl = 'http://www.geekculture.com/joyoftech/joyarchives/%s.html'
imageSearch = compile(r'<img src="(joyimages/.+?|../joyimages/.+?)" alt="The Joy') imageSearch = compile(r'<img src="(joyimages/.+?|../joyimages/.+?)" alt="The Joy')
prevSearch = compile(r'<a href="((?:joyarchives/)?\w+\.\w{3,4})">(?:<font[^>]*>)?<img[^>]*><br>[\s\n]*Previous Joy', MULTILINE) prevSearch = compile(r'<a href="((?:joyarchives/)?\w+\.\w{3,4})">(?:<font[^>]*>)?<img[^>]*><br>[\s\n]*Previous Joy', MULTILINE)
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -7,7 +7,7 @@ from ..scraper import _BasicScraper
class KernelPanic(_BasicScraper): class KernelPanic(_BasicScraper):
latestUrl = 'http://www.ubersoft.net/kpanic/' latestUrl = 'http://www.ubersoft.net/kpanic/'
imageUrl = 'http://www.ubersoft.net/kpanic/d/%s' stripUrl = 'http://www.ubersoft.net/kpanic/d/%s'
imageSearch = compile(r'src="(.+?/kp/kp.+?)" ') imageSearch = compile(r'src="(.+?/kp/kp.+?)" ')
prevSearch = compile(r'<li class="previous"><a href="(.+?)">') prevSearch = compile(r'<li class="previous"><a href="(.+?)">')
help = 'Index format: yyyymmdd.html' help = 'Index format: yyyymmdd.html'
@ -20,7 +20,7 @@ class KernelPanic(_BasicScraper):
class Key(_BasicScraper): class Key(_BasicScraper):
latestUrl = 'http://key.shadilyn.com/latestpage.html' latestUrl = 'http://key.shadilyn.com/latestpage.html'
imageUrl = 'http://key.shadilyn.com/pages/%s.html' stripUrl = 'http://key.shadilyn.com/pages/%s.html'
imageSearch = compile(r'"((?:images/.+?)|(?:pages/images/.+?))"') imageSearch = compile(r'"((?:images/.+?)|(?:pages/images/.+?))"')
prevSearch = compile(r'</a><a href="(.+?html)".+?prev') prevSearch = compile(r'</a><a href="(.+?html)".+?prev')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -29,7 +29,7 @@ class Key(_BasicScraper):
class Krakow(_BasicScraper): class Krakow(_BasicScraper):
latestUrl = 'http://www.krakowstudios.com/' latestUrl = 'http://www.krakowstudios.com/'
imageUrl = 'http://www.krakowstudios.com/archive.php?date=%s' stripUrl = 'http://www.krakowstudios.com/archive.php?date=%s'
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'
@ -37,7 +37,7 @@ class Krakow(_BasicScraper):
class Kukuburi(_BasicScraper): class Kukuburi(_BasicScraper):
latestUrl = 'http://www.kukuburi.com/current/' latestUrl = 'http://www.kukuburi.com/current/'
imageUrl = 'http://thaumic.net/%s' stripUrl = 'http://thaumic.net/%s'
imageSearch = compile(r'img src="(http://www.kukuburi.com/../comics/.+?)"') imageSearch = compile(r'img src="(http://www.kukuburi.com/../comics/.+?)"')
prevSearch = compile(r'nav-previous.+?"(http.+?)"') prevSearch = compile(r'nav-previous.+?"(http.+?)"')
help = 'Index format: non' help = 'Index format: non'
@ -45,19 +45,19 @@ class Kukuburi(_BasicScraper):
class KevinAndKell(_BasicScraper): class KevinAndKell(_BasicScraper):
latestUrl = 'http://www.kevinandkell.com/' latestUrl = 'http://www.kevinandkell.com/'
imageUrl = 'http://www.kevinandkell.com/%s/kk%s%s.html' stripUrl = 'http://www.kevinandkell.com/%s/kk%s%s.html'
imageSearch = compile(r'<img.+?src="(/?(\d+/)?strips/kk\d+.gif)"', IGNORECASE) imageSearch = compile(r'<img.+?src="(/?(\d+/)?strips/kk\d+.gif)"', IGNORECASE)
prevSearch = compile(r'<a.+?href="(/?(\.\./)?\d+/kk\d+\.html)"[^>]*><span>Previous Strip', IGNORECASE) prevSearch = compile(r'<a.+?href="(/?(\.\./)?\d+/kk\d+\.html)"[^>]*><span>Previous Strip', IGNORECASE)
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
def setStrip(self, index): def setStrip(self, index):
self.currentUrl = self.imageUrl % tuple(map(int, index.split('-'))) self.currentUrl = self.stripUrl % tuple(map(int, index.split('-')))
class KillerKomics(_BasicScraper): class KillerKomics(_BasicScraper):
latestUrl = 'http://www.killerkomics.com/web-comics/index_ang.cfm' latestUrl = 'http://www.killerkomics.com/web-comics/index_ang.cfm'
imageUrl = 'http://www.killerkomics.com/web-comics/%s.cfm' stripUrl = 'http://www.killerkomics.com/web-comics/%s.cfm'
imageSearch = compile(r'<img src="(http://www.killerkomics.com/FichiersUpload/Comics/.+?)"') imageSearch = compile(r'<img src="(http://www.killerkomics.com/FichiersUpload/Comics/.+?)"')
prevSearch = compile(r'<div id="precedent"><a href="(.+?)"') prevSearch = compile(r'<div id="precedent"><a href="(.+?)"')
help = 'Index format: strip-name' help = 'Index format: strip-name'

View file

@ -7,7 +7,7 @@ from ..scraper import _BasicScraper
def keenSpot(comics): def keenSpot(comics):
class _KeenSpotScraper(_BasicScraper): class _KeenSpotScraper(_BasicScraper):
imageUrl = property(lambda self: self.baseUrl + 'd/%s.html') stripUrl = property(lambda self: self.baseUrl + 'd/%s.html')
imageSearch = compile(r'<img[^>]+?src="([^"]*?comics/.+?)"', IGNORECASE) imageSearch = compile(r'<img[^>]+?src="([^"]*?comics/.+?)"', IGNORECASE)
prevSearch = compile(r'<a href="([^"]*?d/\d{8}\.html)"[^>]*>(?:<img[^>]+?(?:name="previous_day"|alt="Previous"|src="[^"]*back[^"]*")|Previous comic)', IGNORECASE) prevSearch = compile(r'<a href="([^"]*?d/\d{8}\.html)"[^>]*>(?:<img[^>]+?(?:name="previous_day"|alt="Previous"|src="[^"]*back[^"]*")|Previous comic)', IGNORECASE)
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'

View file

@ -8,7 +8,7 @@ from ..helpers import indirectStarter
class LasLindas(_BasicScraper): class LasLindas(_BasicScraper):
latestUrl = 'http://www.katbox.net/laslindas/' latestUrl = 'http://www.katbox.net/laslindas/'
imageUrl = 'http://www.katbox.net/laslindas/index.php?strip_id=%s' stripUrl = 'http://www.katbox.net/laslindas/index.php?strip_id=%s'
imageSearch = compile(r'"(istrip_files/strips/.+?)"') imageSearch = compile(r'"(istrip_files/strips/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><[^>]+?alt="Back"') prevSearch = compile(r'<a href="(.+?)"><[^>]+?alt="Back"')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -17,7 +17,7 @@ class LasLindas(_BasicScraper):
class LastBlood(_BasicScraper): class LastBlood(_BasicScraper):
latestUrl = 'http://www.lastblood.net/main/' latestUrl = 'http://www.lastblood.net/main/'
imageUrl = 'http://www.lastblood.net/main/%s' stripUrl = 'http://www.lastblood.net/main/%s'
imageSearch = compile(r'(/comicfolder/.+?)" alt') imageSearch = compile(r'(/comicfolder/.+?)" alt')
prevSearch = compile(r'Previous Comic:</small><br />&laquo; <a href="(.+?)">') prevSearch = compile(r'Previous Comic:</small><br />&laquo; <a href="(.+?)">')
help = 'Index format: yyyy/mm/dd/(page number and name)' help = 'Index format: yyyy/mm/dd/(page number and name)'
@ -26,7 +26,7 @@ class LastBlood(_BasicScraper):
class LesbianPiratesFromOuterSpace(_BasicScraper): class LesbianPiratesFromOuterSpace(_BasicScraper):
latestUrl = 'http://rosalarian.com/lesbianpirates/' latestUrl = 'http://rosalarian.com/lesbianpirates/'
imageUrl = 'http://rosalarian.com/lesbianpirates/?p=%s' stripUrl = 'http://rosalarian.com/lesbianpirates/?p=%s'
imageSearch = compile(r'(/lesbianpirates/comics/.+?)"') imageSearch = compile(r'(/lesbianpirates/comics/.+?)"')
prevSearch = compile(r'/(\?p=.+?)">&laquo') prevSearch = compile(r'/(\?p=.+?)">&laquo')
help = 'Index format: n' help = 'Index format: n'
@ -35,7 +35,7 @@ class LesbianPiratesFromOuterSpace(_BasicScraper):
class Lint(_BasicScraper): class Lint(_BasicScraper):
latestUrl = 'http://www.purnicellin.com/lint/' latestUrl = 'http://www.purnicellin.com/lint/'
imageUrl = 'http://www.purnicellin.com/lint/%s' stripUrl = 'http://www.purnicellin.com/lint/%s'
imageSearch = compile(r'<img src="(http://www.purnicellin.com/lint/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.purnicellin.com/lint/comics/.+?)"')
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'
@ -44,7 +44,7 @@ class Lint(_BasicScraper):
class LookingForGroup(_BasicScraper): class LookingForGroup(_BasicScraper):
latestUrl = 'http://www.lfgcomic.com/page/latest' latestUrl = 'http://www.lfgcomic.com/page/latest'
imageUrl = 'http://www.lfgcomic.com/page/%s' stripUrl = 'http://www.lfgcomic.com/page/%s'
imageSearch = compile(r'<img src="(http://newcdn.lfgcomic.com/uploads/comics/.+?)"') imageSearch = compile(r'<img src="(http://newcdn.lfgcomic.com/uploads/comics/.+?)"')
prevSearch = compile(r'<a href="(/page/\d+)" id="navtop-prev"') prevSearch = compile(r'<a href="(/page/\d+)" id="navtop-prev"')
starter = indirectStarter('http://www.lfgcomic.com/', compile(r'<a href="(/page/\d+)" id="feature-preview"')) starter = indirectStarter('http://www.lfgcomic.com/', compile(r'<a href="(/page/\d+)" id="feature-preview"'))
@ -58,7 +58,7 @@ class LookingForGroup(_BasicScraper):
class Loserz(_BasicScraper): class Loserz(_BasicScraper):
latestUrl = 'http://bukucomics.com/loserz/' latestUrl = 'http://bukucomics.com/loserz/'
imageUrl = 'http://bukucomics.com/loserz/go/%s' stripUrl = 'http://bukucomics.com/loserz/go/%s'
imageSearch = compile(r'<img src="(http://bukucomics.com/loserz/comics/.+?)"') imageSearch = compile(r'<img src="(http://bukucomics.com/loserz/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"> &nbsp;&lt;&nbsp;') prevSearch = compile(r'<a href="(.+?)"> &nbsp;&lt;&nbsp;')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -67,7 +67,7 @@ class Loserz(_BasicScraper):
class LittleGamers(_BasicScraper): class LittleGamers(_BasicScraper):
latestUrl = 'http://www.little-gamers.com/' latestUrl = 'http://www.little-gamers.com/'
imageUrl = 'http://www.little-gamers.com/%s' stripUrl = 'http://www.little-gamers.com/%s'
imageSearch = compile(r'<img src="(http://www.little-gamers.com/comics/[^"]+)"') imageSearch = compile(r'<img src="(http://www.little-gamers.com/comics/[^"]+)"')
prevSearch = compile(r'href="(.+?)"><img id="comic-nav-prev"') prevSearch = compile(r'href="(.+?)"><img id="comic-nav-prev"')
help = 'Index format: yyyy/mm/dd/name' help = 'Index format: yyyy/mm/dd/name'
@ -76,7 +76,7 @@ class LittleGamers(_BasicScraper):
class LegoRobot(_BasicScraper): class LegoRobot(_BasicScraper):
latestUrl = 'http://www.legorobotcomics.com/' latestUrl = 'http://www.legorobotcomics.com/'
imageUrl = 'http://www.legorobotcomics.com/?id=%s' stripUrl = 'http://www.legorobotcomics.com/?id=%s'
imageSearch = compile(r'id="the_comic" src="(comics/.+?)"') imageSearch = compile(r'id="the_comic" src="(comics/.+?)"')
prevSearch = compile(r'(\?id=\d+)"><img src="images/back.png"') prevSearch = compile(r'(\?id=\d+)"><img src="images/back.png"')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -85,7 +85,7 @@ class LegoRobot(_BasicScraper):
class LeastICouldDo(_BasicScraper): class LeastICouldDo(_BasicScraper):
latestUrl = 'http://www.leasticoulddo.com/' latestUrl = 'http://www.leasticoulddo.com/'
imageUrl = 'http://www.leasticoulddo.com/comic/%s' stripUrl = 'http://www.leasticoulddo.com/comic/%s'
imageSearch = compile(r'<img src="(http://cdn.leasticoulddo.com/comics/\d{8}.\w{1,4})" />') imageSearch = compile(r'<img src="(http://cdn.leasticoulddo.com/comics/\d{8}.\w{1,4})" />')
prevSearch = compile(r'<a href="(/comic/\d{8})">Previous</a>') prevSearch = compile(r'<a href="(/comic/\d{8})">Previous</a>')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'

View file

@ -8,7 +8,7 @@ from ..helpers import queryNamer
class MadamAndEve(_BasicScraper): class MadamAndEve(_BasicScraper):
latestUrl = 'http://www.madamandeve.co.za/week_of_cartns.php' latestUrl = 'http://www.madamandeve.co.za/week_of_cartns.php'
imageUrl = 'http://www.madamandeve.co.za/week_of_cartns.php' stripUrl = 'http://www.madamandeve.co.za/week_of_cartns.php'
imageSearch = compile(r'<IMG BORDER="0" SRC="(cartoons/me\d{6}\.(gif|jpg))">') imageSearch = compile(r'<IMG BORDER="0" SRC="(cartoons/me\d{6}\.(gif|jpg))">')
prevSearch = compile(r'<a href="(weekend_cartoon.php)"') prevSearch = compile(r'<a href="(weekend_cartoon.php)"')
help = 'Index format: (none)' help = 'Index format: (none)'
@ -16,7 +16,7 @@ class MadamAndEve(_BasicScraper):
class MagicHigh(_BasicScraper): class MagicHigh(_BasicScraper):
latestUrl = 'http://www.doomnstuff.com/magichigh/index.php' latestUrl = 'http://www.doomnstuff.com/magichigh/index.php'
imageUrl = 'http://www.doomnstuff.com/magichigh/index.php?strip_id=%s' stripUrl = 'http://www.doomnstuff.com/magichigh/index.php?strip_id=%s'
imageSearch = compile(r'(istrip_files/strips/.+?)"') imageSearch = compile(r'(istrip_files/strips/.+?)"')
prevSearch = compile(r'First .+?"(/magichigh.+?)".+?top_back') prevSearch = compile(r'First .+?"(/magichigh.+?)".+?top_back')
help = 'Index format: n' help = 'Index format: n'
@ -25,7 +25,7 @@ class MagicHigh(_BasicScraper):
class Marilith(_BasicScraper): class Marilith(_BasicScraper):
latestUrl = 'http://www.marilith.com/' latestUrl = 'http://www.marilith.com/'
imageUrl = 'http://www.marilith.com/archive.php?date=%s' stripUrl = 'http://www.marilith.com/archive.php?date=%s'
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'
@ -34,7 +34,7 @@ class Marilith(_BasicScraper):
class MarryMe(_BasicScraper): class MarryMe(_BasicScraper):
latestUrl = 'http://marrymemovie.com/main/' latestUrl = 'http://marrymemovie.com/main/'
imageUrl = 'http://marrymemovie.com/main/%s' stripUrl = 'http://marrymemovie.com/main/%s'
imageSearch = compile(r'(/comicfolder/.+?)"') imageSearch = compile(r'(/comicfolder/.+?)"')
prevSearch = compile(r'Previous Comic:</small><br />&#171; <a href="(.+?)">') prevSearch = compile(r'Previous Comic:</small><br />&#171; <a href="(.+?)">')
help = 'Index format: good luck !' help = 'Index format: good luck !'
@ -42,7 +42,7 @@ class MarryMe(_BasicScraper):
class Meek(_BasicScraper): class Meek(_BasicScraper):
latestUrl = 'http://www.meekcomic.com/' latestUrl = 'http://www.meekcomic.com/'
imageUrl = 'http://www.meekcomic.com/%s' stripUrl = 'http://www.meekcomic.com/%s'
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/'
@ -50,7 +50,7 @@ class Meek(_BasicScraper):
class MegaTokyo(_BasicScraper): class MegaTokyo(_BasicScraper):
latestUrl = 'http://www.megatokyo.com/' latestUrl = 'http://www.megatokyo.com/'
imageUrl = 'http://www.megatokyo.com/strip/%s' stripUrl = 'http://www.megatokyo.com/strip/%s'
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'
@ -58,7 +58,7 @@ class MegaTokyo(_BasicScraper):
class MyPrivateLittleHell(_BasicScraper): class MyPrivateLittleHell(_BasicScraper):
latestUrl = 'http://mutt.purrsia.com/mplh/' latestUrl = 'http://mutt.purrsia.com/mplh/'
imageUrl = 'http://mutt.purrsia.com/mplh/?date=%s' stripUrl = 'http://mutt.purrsia.com/mplh/?date=%s'
imageSearch = compile(r'<img.+?src="(comics/.+?)"') imageSearch = compile(r'<img.+?src="(comics/.+?)"')
prevSearch = compile(r'<a.+?href="(\?date=\d+/\d+/\d+)">Prev</a>') prevSearch = compile(r'<a.+?href="(\?date=\d+/\d+/\d+)">Prev</a>')
help = 'Index format: mm/dd/yyyy' help = 'Index format: mm/dd/yyyy'
@ -67,7 +67,7 @@ class MyPrivateLittleHell(_BasicScraper):
class MacHall(_BasicScraper): class MacHall(_BasicScraper):
latestUrl = 'http://www.machall.com/' latestUrl = 'http://www.machall.com/'
imageUrl = 'http://www.machall.com/view.php?date=%s' stripUrl = 'http://www.machall.com/view.php?date=%s'
imageSearch = compile(r'<img src="(comics/.+?)"') imageSearch = compile(r'<img src="(comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><img[^>]+?src=\'drop_shadow/previous.gif\'>') prevSearch = compile(r'<a href="(.+?)"><img[^>]+?src=\'drop_shadow/previous.gif\'>')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -76,7 +76,7 @@ class MacHall(_BasicScraper):
class Misfile(_BasicScraper): class Misfile(_BasicScraper):
latestUrl = 'http://www.misfile.com/' latestUrl = 'http://www.misfile.com/'
imageUrl = 'http://www.misfile.com/?page=%s' stripUrl = 'http://www.misfile.com/?page=%s'
imageSearch = compile(r'<img src="(overlay\.php\?pageCalled=\d+)">') imageSearch = compile(r'<img src="(overlay\.php\?pageCalled=\d+)">')
prevSearch = compile(r'<a href="(\?page=\d+)"><img src="/images/back\.gif"') prevSearch = compile(r'<a href="(\?page=\d+)"><img src="/images/back\.gif"')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -86,7 +86,7 @@ class Misfile(_BasicScraper):
class MysteriesOfTheArcana(_BasicScraper): class MysteriesOfTheArcana(_BasicScraper):
latestUrl = 'http://mysteriesofthearcana.com/' latestUrl = 'http://mysteriesofthearcana.com/'
imageUrl = 'http://mysteriesofthearcana.com/index.php?action=comics&cid=' stripUrl = 'http://mysteriesofthearcana.com/index.php?action=comics&cid='
imageSearch = compile(r'(image.php\?type=com&i=.+?)"') imageSearch = compile(r'(image.php\?type=com&i=.+?)"')
prevSearch = compile(r'(index.php\?action=comics&cid=.+?)".+?show_prev1') prevSearch = compile(r'(index.php\?action=comics&cid=.+?)".+?show_prev1')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -95,7 +95,7 @@ class MysteriesOfTheArcana(_BasicScraper):
class MysticRevolution(_BasicScraper): class MysticRevolution(_BasicScraper):
latestUrl = 'http://www.mysticrev.com/index.php' latestUrl = 'http://www.mysticrev.com/index.php'
imageUrl = 'http://www.mysticrev.com/index.php?cid=%s' stripUrl = 'http://www.mysticrev.com/index.php?cid=%s'
imageSearch = compile(r'(comics/.+?)"') imageSearch = compile(r'(comics/.+?)"')
prevSearch = compile(r'(\?cid=.+?)".+?prev.gif') prevSearch = compile(r'(\?cid=.+?)".+?prev.gif')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -104,7 +104,7 @@ class MysticRevolution(_BasicScraper):
class MontyAndWooly(_BasicScraper): class MontyAndWooly(_BasicScraper):
latestUrl = 'http://www.montyandwoolley.co.uk/' latestUrl = 'http://www.montyandwoolley.co.uk/'
imageUrl = 'http://montyandwoolley.co.uk/%s' stripUrl = 'http://montyandwoolley.co.uk/%s'
imageSearch = compile(r'<img src="(http://montyandwoolley.co.uk/.+?)"') imageSearch = compile(r'<img src="(http://montyandwoolley.co.uk/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">')
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'

View file

@ -9,7 +9,7 @@ from ..helpers import indirectStarter, _PHPScraper
class NamirDeiter(_BasicScraper): class NamirDeiter(_BasicScraper):
latestUrl = 'http://www.namirdeiter.com/' latestUrl = 'http://www.namirdeiter.com/'
imageUrl = 'http://www.namirdeiter.com/comics/index.php?date=%s' stripUrl = 'http://www.namirdeiter.com/comics/index.php?date=%s'
imageSearch = compile(r'<img.+?(/comics/\d{8}.+?)[\'|\"]') imageSearch = compile(r'<img.+?(/comics/\d{8}.+?)[\'|\"]')
prevSearch = compile(r'(/comics/index.php\?date=.+?|http://www.namirdeiter.com/comics/index.php\?date=.+?)[\'|\"].+?previous') prevSearch = compile(r'(/comics/index.php\?date=.+?|http://www.namirdeiter.com/comics/index.php\?date=.+?)[\'|\"].+?previous')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -18,7 +18,7 @@ class NamirDeiter(_BasicScraper):
class NeoEarth(_BasicScraper): class NeoEarth(_BasicScraper):
latestUrl = 'http://www.neo-earth.com/NE/' latestUrl = 'http://www.neo-earth.com/NE/'
imageUrl = 'http://www.neo-earth.com/NE/index.php?date=%s' stripUrl = 'http://www.neo-earth.com/NE/index.php?date=%s'
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'
@ -27,7 +27,7 @@ class NeoEarth(_BasicScraper):
class Nervillsaga(_BasicScraper): class Nervillsaga(_BasicScraper):
latestUrl = 'http://www.nervillsaga.com/' latestUrl = 'http://www.nervillsaga.com/'
imageUrl = 'http://www.nervillsaga.com/index.php?s=%s' stripUrl = 'http://www.nervillsaga.com/index.php?s=%s'
imageSearch = compile(r'"(pic/.+?)"') imageSearch = compile(r'"(pic/.+?)"')
prevSearch = compile(r'"(.+?)">Previous') prevSearch = compile(r'"(.+?)">Previous')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -36,7 +36,7 @@ class Nervillsaga(_BasicScraper):
class NewAdventuresOfBobbin(_BasicScraper): class NewAdventuresOfBobbin(_BasicScraper):
latestUrl = 'http://bobbin-comic.com/' latestUrl = 'http://bobbin-comic.com/'
imageUrl = 'http://www.bobbin-comic.com/wordpress/?p=%s' stripUrl = 'http://www.bobbin-comic.com/wordpress/?p=%s'
imageSearch = compile(r'<img src="(http://www.bobbin-comic.com/wordpress/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.bobbin-comic.com/wordpress/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><span class="prev">') prevSearch = compile(r'<a href="(.+?)"><span class="prev">')
help = 'Index format: n' help = 'Index format: n'
@ -45,7 +45,7 @@ class NewAdventuresOfBobbin(_BasicScraper):
class NewWorld(_BasicScraper): class NewWorld(_BasicScraper):
latestUrl = 'http://www.tfsnewworld.com/' latestUrl = 'http://www.tfsnewworld.com/'
imageUrl = 'http://www.tfsnewworld.com/%s' stripUrl = 'http://www.tfsnewworld.com/%s'
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'
@ -54,7 +54,7 @@ class NewWorld(_BasicScraper):
class Nicky510(_BasicScraper): class Nicky510(_BasicScraper):
latestUrl = 'http://www.nicky510.com/' latestUrl = 'http://www.nicky510.com/'
imageUrl = 'http://www.nicky510.com/%s' stripUrl = 'http://www.nicky510.com/%s'
imageSearch = compile(r'(http://www.nicky510.com/comics/.+?)"') imageSearch = compile(r'(http://www.nicky510.com/comics/.+?)"')
prevSearch = compile(r'<a href="(http://www.nicky510.com/.+?)" class="navi navi-prev"') prevSearch = compile(r'<a href="(http://www.nicky510.com/.+?)" class="navi navi-prev"')
help = 'Index format: yyyy/mm/dd/stripname/' help = 'Index format: yyyy/mm/dd/stripname/'
@ -63,7 +63,7 @@ class Nicky510(_BasicScraper):
class NoNeedForBushido(_BasicScraper): class NoNeedForBushido(_BasicScraper):
latestUrl = 'http://www.noneedforbushido.com/latest/' latestUrl = 'http://www.noneedforbushido.com/latest/'
imageUrl = 'http://www.noneedforbushido.com/%s' stripUrl = 'http://www.noneedforbushido.com/%s'
imageSearch = compile(r'<div class="comics"><img src="([^"]+)"') imageSearch = compile(r'<div class="comics"><img src="([^"]+)"')
prevSearch = compile(r'<a href="([^"]+)" title="[^"]*" class="previous-comic-link') prevSearch = compile(r'<a href="([^"]+)" title="[^"]*" class="previous-comic-link')
help = 'Index format: yyyy/comic/nnn' help = 'Index format: yyyy/comic/nnn'
@ -72,7 +72,7 @@ class NoNeedForBushido(_BasicScraper):
class Nukees(_BasicScraper): class Nukees(_BasicScraper):
latestUrl = 'http://www.nukees.com/' latestUrl = 'http://www.nukees.com/'
imageUrl = 'http://www.nukees.com/d/%s' stripUrl = 'http://www.nukees.com/d/%s'
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'
@ -92,7 +92,7 @@ class _NuklearPower(_BasicScraper):
return self.baseUrl return self.baseUrl
@property @property
def imageUrl(self): def stripUrl(self):
return self.baseUrl + '%s' return self.baseUrl + '%s'
@ -129,7 +129,7 @@ class NekoTheKitty(_PHPScraper):
class NichtLustig(_BasicScraper): class NichtLustig(_BasicScraper):
imageUrl = 'http://www.nichtlustig.de/toondb/%s.html' stripUrl = 'http://www.nichtlustig.de/toondb/%s.html'
imageSearch = compile(r'<img src="([^"]+)" id="cartoon"', IGNORECASE) imageSearch = compile(r'<img src="([^"]+)" id="cartoon"', IGNORECASE)
prevSearch = compile(r'<a href="(\d+\.html)"[^<>]*><img[^<>]*id="pfeil_links', IGNORECASE) prevSearch = compile(r'<a href="(\d+\.html)"[^<>]*><img[^<>]*id="pfeil_links', IGNORECASE)
help = 'Index format: yymmdd' help = 'Index format: yymmdd'
@ -139,17 +139,17 @@ class NichtLustig(_BasicScraper):
class NinthElsewhere(_BasicScraper): class NinthElsewhere(_BasicScraper):
latestUrl = 'http://www.9thelsewhere.com/icenter.html' latestUrl = 'http://www.9thelsewhere.com/icenter.html'
imageUrl = 'http://www.9thelsewhere.com/%s/9e%s_%s.html' stripUrl = 'http://www.9thelsewhere.com/%s/9e%s_%s.html'
imageSearch = compile(r'<img src="([^"]*9e\d+_\d+\.jpg)"') imageSearch = compile(r'<img src="([^"]*9e\d+_\d+\.jpg)"')
prevSearch = compile(r'<a href="([^"]+\.html)">\s*PREV') prevSearch = compile(r'<a href="([^"]+\.html)">\s*PREV')
help = 'Index format: year-chapter-page' help = 'Index format: year-chapter-page'
def setStrip(self, index): def setStrip(self, index):
self.currentUrl = self.imageUrl % tuple(map(int, index.split('-'))) self.currentUrl = self.stripUrl % tuple(map(int, index.split('-')))
class Nodwick(_BasicScraper): class Nodwick(_BasicScraper):
imageUrl = None stripUrl = None
imageSearch = compile(r'<img src="(http://nodwick.humor.gamespy.com/gamespyarchive/strips/[^"]*)"', IGNORECASE) imageSearch = compile(r'<img src="(http://nodwick.humor.gamespy.com/gamespyarchive/strips/[^"]*)"', IGNORECASE)
prevSearch = compile(r'<a href="(index.php\?date=[0-9-]*)"><img src="back.jpg"', IGNORECASE) prevSearch = compile(r'<a href="(index.php\?date=[0-9-]*)"><img src="back.jpg"', IGNORECASE)
starter = indirectStarter('http://nodwick.humor.gamespy.com/gamespyarchive/index.php', prevSearch) starter = indirectStarter('http://nodwick.humor.gamespy.com/gamespyarchive/index.php', prevSearch)
@ -159,7 +159,7 @@ class Nodwick(_BasicScraper):
class NekkoAndJoruba(_BasicScraper): class NekkoAndJoruba(_BasicScraper):
latestUrl = 'http://www.nekkoandjoruba.com/' latestUrl = 'http://www.nekkoandjoruba.com/'
imageUrl = 'http://www.nekkoandjoruba.com/?p=%s' stripUrl = 'http://www.nekkoandjoruba.com/?p=%s'
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'
@ -168,7 +168,7 @@ class NekkoAndJoruba(_BasicScraper):
class NobodyScores(_BasicScraper): class NobodyScores(_BasicScraper):
latestUrl = 'http://nobodyscores.loosenutstudio.com/' latestUrl = 'http://nobodyscores.loosenutstudio.com/'
imageUrl = 'http://nobodyscores.loosenutstudio.com/index.php?id=%s' stripUrl = 'http://nobodyscores.loosenutstudio.com/index.php?id=%s'
imageSearch = compile(r'><img src="(http://nobodyscores.loosenutstudio.com/comix/.+?)"') imageSearch = compile(r'><img src="(http://nobodyscores.loosenutstudio.com/comix/.+?)"')
prevSearch = compile(r'<a href="(http://nobodyscores.loosenutstudio.com/index.php.+?)">the one before </a>') prevSearch = compile(r'<a href="(http://nobodyscores.loosenutstudio.com/index.php.+?)">the one before </a>')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -9,7 +9,7 @@ from ..scraper import _BasicScraper
class NineteenNinetySeven(_BasicScraper): class NineteenNinetySeven(_BasicScraper):
name = '1997' name = '1997'
latestUrl = 'http://www.1977thecomic.com/' latestUrl = 'http://www.1977thecomic.com/'
imageUrl = 'http://www.1977thecomic.com/%s' stripUrl = 'http://www.1977thecomic.com/%s'
imageSearch = compile(tagre("img", "src", r'(http://www\.1977thecomic\.com/comics-1977/[^"]+)')) imageSearch = compile(tagre("img", "src", r'(http://www\.1977thecomic\.com/comics-1977/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)')+"Previous") prevSearch = compile(tagre("a", "href", r'([^"]+)')+"Previous")
help = 'Index format: yyyy/mm/dd/strip-name' help = 'Index format: yyyy/mm/dd/strip-name'

View file

@ -9,7 +9,7 @@ from ..helpers import indirectStarter
class OctopusPie(_BasicScraper): class OctopusPie(_BasicScraper):
starter = indirectStarter('http://www.octopuspie.com/2007-05-14/001-pea-wiggle/', starter = indirectStarter('http://www.octopuspie.com/2007-05-14/001-pea-wiggle/',
compile(r'<a href="(http://www.octopuspie.com/.+?)"><b>latest comic</b>', IGNORECASE)) compile(r'<a href="(http://www.octopuspie.com/.+?)"><b>latest comic</b>', IGNORECASE))
imageUrl = 'http://www.octopuspie.com/%s' stripUrl = 'http://www.octopuspie.com/%s'
imageSearch = compile(r'<img src="(http://www.octopuspie.com/strippy/.+?)"') imageSearch = compile(r'<img src="(http://www.octopuspie.com/strippy/.+?)"')
prevSearch = compile(r'<link rel=\'prev\'[^>]+?href=\'(http://www.octopuspie.com/.+?)\'') prevSearch = compile(r'<link rel=\'prev\'[^>]+?href=\'(http://www.octopuspie.com/.+?)\'')
help = 'Index format: yyyy-mm-dd/nnn-strip-name' help = 'Index format: yyyy-mm-dd/nnn-strip-name'
@ -18,7 +18,7 @@ class OctopusPie(_BasicScraper):
class OddFish(_BasicScraper): class OddFish(_BasicScraper):
latestUrl = 'http://www.odd-fish.net/' latestUrl = 'http://www.odd-fish.net/'
imageUrl = 'http://www.odd-fish.net/viewing.php?&comic_id=%s' stripUrl = 'http://www.odd-fish.net/viewing.php?&comic_id=%s'
imageSearch = compile(r'<img src="(images/\d{1,4}.\w{3,4})" ') imageSearch = compile(r'<img src="(images/\d{1,4}.\w{3,4})" ')
prevSearch = compile(r'<a href="(.+?)"><img src="http://www.odd-fishing.net/i/older.gif" ') prevSearch = compile(r'<a href="(.+?)"><img src="http://www.odd-fishing.net/i/older.gif" ')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -27,7 +27,7 @@ class OddFish(_BasicScraper):
class OhMyGods(_BasicScraper): class OhMyGods(_BasicScraper):
latestUrl = 'http://ohmygods.co.uk/' latestUrl = 'http://ohmygods.co.uk/'
imageUrl = 'http://ohmygods.co.uk/strips/%s' stripUrl = 'http://ohmygods.co.uk/strips/%s'
imageSearch = compile(r'<p class="omgs-strip"><img src="(/system/files/.+?)"') imageSearch = compile(r'<p class="omgs-strip"><img src="(/system/files/.+?)"')
prevSearch = compile(r'<li class="custom_pager_prev"><a href="(/strips/.+?)"') prevSearch = compile(r'<li class="custom_pager_prev"><a href="(/strips/.+?)"')
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -36,7 +36,7 @@ class OhMyGods(_BasicScraper):
class OnTheEdge(_BasicScraper): class OnTheEdge(_BasicScraper):
latestUrl = 'http://www.ontheedgecomics.com/' latestUrl = 'http://www.ontheedgecomics.com/'
imageUrl = 'http://ontheedgecomics.com/comic/ote%s' stripUrl = 'http://ontheedgecomics.com/comic/ote%s'
imageSearch = compile(r'<img src="(http://ontheedgecomics.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://ontheedgecomics.com/comics/.+?)"')
prevSearch = compile(r'<a href="([^"]+)" rel="prev">') prevSearch = compile(r'<a href="([^"]+)" rel="prev">')
help = 'Index format: nnn (unpadded)' help = 'Index format: nnn (unpadded)'
@ -45,7 +45,7 @@ class OnTheEdge(_BasicScraper):
class OneQuestion(_BasicScraper): class OneQuestion(_BasicScraper):
latestUrl = 'http://onequestioncomic.com/' latestUrl = 'http://onequestioncomic.com/'
imageUrl = 'http://onequestioncomic.com/comics/%s/' stripUrl = 'http://onequestioncomic.com/comics/%s/'
imageSearch = compile(r'(istrip_files.+?)"') imageSearch = compile(r'(istrip_files.+?)"')
prevSearch = compile(r'First.+?"(comic.php.+?)".+?previous.png') prevSearch = compile(r'First.+?"(comic.php.+?)".+?previous.png')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -54,14 +54,14 @@ class OneQuestion(_BasicScraper):
class OurHomePlanet(_BasicScraper): class OurHomePlanet(_BasicScraper):
latestUrl = 'http://gdk.gd-kun.net/' latestUrl = 'http://gdk.gd-kun.net/'
imageUrl = 'http://gdk.gd-kun.net/%s.html' stripUrl = 'http://gdk.gd-kun.net/%s.html'
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)'
class OkCancel(_BasicScraper): class OkCancel(_BasicScraper):
imageUrl = 'http://www.ok-cancel.com/comic/%s.html' stripUrl = 'http://www.ok-cancel.com/comic/%s.html'
imageSearch = compile(r'src="(http://www.ok-cancel.com/strips/okcancel\d{8}.gif)"', IGNORECASE) imageSearch = compile(r'src="(http://www.ok-cancel.com/strips/okcancel\d{8}.gif)"', IGNORECASE)
prevSearch = compile(r'<div class="previous"><a href="(http://www.ok-cancel.com/comic/\d{1,4}.html)">', IGNORECASE) prevSearch = compile(r'<div class="previous"><a href="(http://www.ok-cancel.com/comic/\d{1,4}.html)">', IGNORECASE)
starter = indirectStarter('http://www.ok-cancel.com/', prevSearch) starter = indirectStarter('http://www.ok-cancel.com/', prevSearch)
@ -72,7 +72,7 @@ class OkCancel(_BasicScraper):
class Oglaf(_BasicScraper): class Oglaf(_BasicScraper):
starter = indirectStarter('http://oglaf.com/', starter = indirectStarter('http://oglaf.com/',
compile(r'<a href="(.+?)"><img src="over18.gif"', IGNORECASE)) compile(r'<a href="(.+?)"><img src="over18.gif"', IGNORECASE))
imageUrl = 'http://oglaf.com/%s.html' stripUrl = 'http://oglaf.com/%s.html'
imageSearch = compile(r'/><img src="(.+?)"[^>]+?width="760" height="596"', IGNORECASE) imageSearch = compile(r'/><img src="(.+?)"[^>]+?width="760" height="596"', IGNORECASE)
prevSearch = compile(r'<a href="(.+?)"[^>]+?><img src="prev.gif"', IGNORECASE) prevSearch = compile(r'<a href="(.+?)"[^>]+?><img src="prev.gif"', IGNORECASE)
help = 'Index format: nn' help = 'Index format: nn'
@ -81,7 +81,7 @@ class Oglaf(_BasicScraper):
class OverCompensating(_BasicScraper): class OverCompensating(_BasicScraper):
latestUrl = 'http://www.overcompensating.com/' latestUrl = 'http://www.overcompensating.com/'
imageUrl = 'http://www.overcompensating.com/posts/%s.html' stripUrl = 'http://www.overcompensating.com/posts/%s.html'
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

@ -8,7 +8,7 @@ from ..helpers import bounceStarter, queryNamer
class PartiallyClips(_BasicScraper): class PartiallyClips(_BasicScraper):
latestUrl = 'http://www.partiallyclips.com/' latestUrl = 'http://www.partiallyclips.com/'
imageUrl = 'http://www.partiallyclips.com/index.php?id=%s' stripUrl = 'http://www.partiallyclips.com/index.php?id=%s'
imageSearch = compile(r'"(http://www.partiallyclips.com/storage/.+?)"') imageSearch = compile(r'"(http://www.partiallyclips.com/storage/.+?)"')
prevSearch = compile(r'"(index.php\?id=.+?)".+?prev') prevSearch = compile(r'"(index.php\?id=.+?)".+?prev')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -17,7 +17,7 @@ class PartiallyClips(_BasicScraper):
class PastelDefender(_BasicScraper): class PastelDefender(_BasicScraper):
latestUrl = 'http://www.pasteldefender.com/coverbackcover.html' latestUrl = 'http://www.pasteldefender.com/coverbackcover.html'
imageUrl = 'http://www.pasteldefender.com/%s.html' stripUrl = 'http://www.pasteldefender.com/%s.html'
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'
@ -26,7 +26,7 @@ class PastelDefender(_BasicScraper):
class PebbleVersion(_BasicScraper): class PebbleVersion(_BasicScraper):
latestUrl = 'http://www.pebbleversion.com/' latestUrl = 'http://www.pebbleversion.com/'
imageUrl = 'http://www.pebbleversion.com/Archives/Strip%s.html' stripUrl = 'http://www.pebbleversion.com/Archives/Strip%s.html'
imageSearch = compile(r'<img src="(ComicStrips/.+?|../ComicStrips/.+?)"') imageSearch = compile(r'<img src="(ComicStrips/.+?|../ComicStrips/.+?)"')
prevSearch = compile(r'<a href="((?!.+?">First Comic)Archives/Strip.+?|(?=.+?">Previous Comic)(?!.+?">First Comic)Strip.+?)"') prevSearch = compile(r'<a href="((?!.+?">First Comic)Archives/Strip.+?|(?=.+?">Previous Comic)(?!.+?">First Comic)Strip.+?)"')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -34,7 +34,7 @@ class PebbleVersion(_BasicScraper):
class PennyAndAggie(_BasicScraper): class PennyAndAggie(_BasicScraper):
latestUrl = 'http://www.pennyandaggie.com/index.php' latestUrl = 'http://www.pennyandaggie.com/index.php'
imageUrl = 'http://www.pennyandaggie.com/index.php\?p=%s' stripUrl = 'http://www.pennyandaggie.com/index.php\?p=%s'
imageSearch = compile(r'src=".+?(/comics/.+?)"') imageSearch = compile(r'src=".+?(/comics/.+?)"')
prevSearch = compile(r"</a><a href='(index.php\?p=.+?)'.+?prev") prevSearch = compile(r"</a><a href='(index.php\?p=.+?)'.+?prev")
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -44,7 +44,7 @@ class PennyAndAggie(_BasicScraper):
class PennyArcade(_BasicScraper): class PennyArcade(_BasicScraper):
starter = bounceStarter('http://www.penny-arcade.com/comic/', starter = bounceStarter('http://www.penny-arcade.com/comic/',
compile(r'<a href="(/comic/[^"]+)">Next</a>')) compile(r'<a href="(/comic/[^"]+)">Next</a>'))
imageUrl = 'http://www.penny-arcade.com/comic/%s/' stripUrl = 'http://www.penny-arcade.com/comic/%s/'
imageSearch = compile(r'(?<!<!--)<img src="(http://art\.penny-arcade\.com/photos/[^"]+)"') imageSearch = compile(r'(?<!<!--)<img src="(http://art\.penny-arcade\.com/photos/[^"]+)"')
prevSearch = compile(r'<a href="(/comic/[^"]+)">Back</a>') prevSearch = compile(r'<a href="(/comic/[^"]+)">Back</a>')
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'
@ -58,7 +58,7 @@ class PennyArcade(_BasicScraper):
class PeppermintSaga(_BasicScraper): class PeppermintSaga(_BasicScraper):
latestUrl = 'http://www.pepsaga.com/' latestUrl = 'http://www.pepsaga.com/'
imageUrl = 'http://www.pepsaga.com/comics/%s/' stripUrl = 'http://www.pepsaga.com/comics/%s/'
imageSearch = compile(r'src=.+?(http.+?/comics/.+?)"') imageSearch = compile(r'src=.+?(http.+?/comics/.+?)"')
prevSearch = compile(r'First</a><a href="(http://www.pepsaga.com/comics/.+?/)"') prevSearch = compile(r'First</a><a href="(http://www.pepsaga.com/comics/.+?/)"')
help = 'Index format: non' help = 'Index format: non'
@ -66,7 +66,7 @@ class PeppermintSaga(_BasicScraper):
class PerkiGoth(_BasicScraper): class PerkiGoth(_BasicScraper):
latestUrl = 'http://mutt.purrsia.com/main.php' latestUrl = 'http://mutt.purrsia.com/main.php'
imageUrl = 'http://mutt.purrsia.com/main.php?date=%s' stripUrl = 'http://mutt.purrsia.com/main.php?date=%s'
imageSearch = compile(r'<img.+?src="(comics/.+?)"') imageSearch = compile(r'<img.+?src="(comics/.+?)"')
prevSearch = compile(r'<a.+?href="(\?date=\d+/\d+/\d+)">Prev</a>') prevSearch = compile(r'<a.+?href="(\?date=\d+/\d+/\d+)">Prev</a>')
help = 'Index format: mm/dd/yyyy' help = 'Index format: mm/dd/yyyy'
@ -74,7 +74,7 @@ class PerkiGoth(_BasicScraper):
class Pixel(_BasicScraper): class Pixel(_BasicScraper):
latestUrl = 'http://www.chrisdlugosz.net/pixel/' latestUrl = 'http://www.chrisdlugosz.net/pixel/'
imageUrl = 'http://www.chrisdlugosz.net/pixel/%s.shtml' stripUrl = 'http://www.chrisdlugosz.net/pixel/%s.shtml'
imageSearch = compile(r'<IMG SRC="(\d+\.png)" ALT=""><BR><BR>') imageSearch = compile(r'<IMG SRC="(\d+\.png)" ALT=""><BR><BR>')
prevSearch = compile(r'<A HREF="(\d+\.shtml)"><IMG SRC="_prev.png" BORDER=0 ALT=""></A>') prevSearch = compile(r'<A HREF="(\d+\.shtml)"><IMG SRC="_prev.png" BORDER=0 ALT=""></A>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -83,7 +83,7 @@ class Pixel(_BasicScraper):
class PiledHigherAndDeeper(_BasicScraper): class PiledHigherAndDeeper(_BasicScraper):
starter = bounceStarter('http://www.phdcomics.com/comics/archive.php', compile(r'<a href=(archive\.php\?comicid=\d+)><img height=52 width=49 src=images/next_button\.gif border=0 align=middle>')) starter = bounceStarter('http://www.phdcomics.com/comics/archive.php', compile(r'<a href=(archive\.php\?comicid=\d+)><img height=52 width=49 src=images/next_button\.gif border=0 align=middle>'))
imageUrl = 'http://www.phdcomics.com/comics/archive.php?comicid=%s' stripUrl = 'http://www.phdcomics.com/comics/archive.php?comicid=%s'
imageSearch = compile(r'<img src=(http://www\.phdcomics\.com/comics/archive/phd\d+s?\.gif)') imageSearch = compile(r'<img src=(http://www\.phdcomics\.com/comics/archive/phd\d+s?\.gif)')
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)'
@ -92,7 +92,7 @@ class PiledHigherAndDeeper(_BasicScraper):
class Precocious(_BasicScraper): class Precocious(_BasicScraper):
latestUrl = 'http://www.precociouscomic.com/' latestUrl = 'http://www.precociouscomic.com/'
imageUrl = 'http://www.precociouscomic.com/comic.php?page=%s' stripUrl = 'http://www.precociouscomic.com/comic.php?page=%s'
imageSearch = compile(r'(archive/strips/.+?)"') imageSearch = compile(r'(archive/strips/.+?)"')
prevSearch = compile(r'First.+?(comic.php\?page=.+?)">Previous<') prevSearch = compile(r'First.+?(comic.php\?page=.+?)">Previous<')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -100,7 +100,7 @@ class Precocious(_BasicScraper):
class PvPonline(_BasicScraper): class PvPonline(_BasicScraper):
latestUrl = 'http://www.pvponline.com/' latestUrl = 'http://www.pvponline.com/'
imageUrl = None stripUrl = None
imageSearch = compile(r'<img src="(http://www.pvponline.com/comics/pvp\d{8}\..+?)"', IGNORECASE) imageSearch = compile(r'<img src="(http://www.pvponline.com/comics/pvp\d{8}\..+?)"', IGNORECASE)
prevSearch = compile(r'<a href="(http://www.pvponline.com/[^"]+)"[^>]*>&lsaquo; Previous', IGNORECASE) prevSearch = compile(r'<a href="(http://www.pvponline.com/[^"]+)"[^>]*>&lsaquo; Previous', IGNORECASE)
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -113,7 +113,7 @@ def pensAndTales(name, baseUrl):
dict( dict(
name='PensAndTales/' + name, name='PensAndTales/' + name,
latestUrl=baseUrl, latestUrl=baseUrl,
imageUrl=baseUrl + '?date=', stripUrl=baseUrl + '?date=',
imageSearch=compile(r'<img[^>]+?src="([^"]*?comics/.+?)"', IGNORECASE), imageSearch=compile(r'<img[^>]+?src="([^"]*?comics/.+?)"', IGNORECASE),
prevSearch=compile(r'<a href="([^"]*?\?date=\d+)">(:?<img[^>]+?alt=")?Previous Comic', IGNORECASE), prevSearch=compile(r'<a href="([^"]*?\?date=\d+)">(:?<img[^>]+?alt=")?Previous Comic', IGNORECASE),
help='Index format: yyyymmdd') help='Index format: yyyymmdd')
@ -138,7 +138,7 @@ earthbound = pensAndTales('Earthbound', 'http://earthbound.pensandtales.com/')
class ProperBarn(_BasicScraper): class ProperBarn(_BasicScraper):
latestUrl = 'http://www.nitrocosm.com/go/gag/' latestUrl = 'http://www.nitrocosm.com/go/gag/'
imageUrl = 'http://www.nitrocosm.com/go/gag/%s/' stripUrl = 'http://www.nitrocosm.com/go/gag/%s/'
imageSearch = compile(r'<img class="gallery_display" src="([^"]+)"') imageSearch = compile(r'<img class="gallery_display" src="([^"]+)"')
prevSearch = compile(r'<a href="([^"]+)"[^>]*><button type="submit" class="nav_btn_previous">') prevSearch = compile(r'<a href="([^"]+)"[^>]*><button type="submit" class="nav_btn_previous">')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -147,7 +147,7 @@ class ProperBarn(_BasicScraper):
class PunksAndNerds(_BasicScraper): class PunksAndNerds(_BasicScraper):
latestUrl = 'http://www.punksandnerds.com/' latestUrl = 'http://www.punksandnerds.com/'
imageUrl = 'http://www.punksandnerds.com/?id=%s/' stripUrl = 'http://www.punksandnerds.com/?id=%s/'
imageSearch = compile(r'<img src="(http://www.punksandnerds.com/img/comic/.+?)"') imageSearch = compile(r'<img src="(http://www.punksandnerds.com/img/comic/.+?)"')
prevSearch = compile(r'<td><a href="(.+?)"[^>]+?><img src="backcomic.gif"') prevSearch = compile(r'<td><a href="(.+?)"[^>]+?><img src="backcomic.gif"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -156,7 +156,7 @@ class PunksAndNerds(_BasicScraper):
class PunksAndNerdsOld(_BasicScraper): class PunksAndNerdsOld(_BasicScraper):
latestUrl = 'http://original.punksandnerds.com/' latestUrl = 'http://original.punksandnerds.com/'
imageUrl = 'http://original.punksandnerds.com/d/%s.html' stripUrl = 'http://original.punksandnerds.com/d/%s.html'
imageSearch = compile(r' src="(/comics/.+?)"') imageSearch = compile(r' src="(/comics/.+?)"')
prevSearch = compile(r'><strong><a href="(.+?)"[^>]+?><img[^>]+?src="/previouscomic.gif">') prevSearch = compile(r'><strong><a href="(.+?)"[^>]+?><img[^>]+?src="/previouscomic.gif">')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -165,7 +165,7 @@ class PunksAndNerdsOld(_BasicScraper):
class PlanescapeSurvival(_BasicScraper): class PlanescapeSurvival(_BasicScraper):
latestUrl = 'http://planescapecomic.com/' latestUrl = 'http://planescapecomic.com/'
imageUrl = 'http://planescapecomic.com/%s.html' stripUrl = 'http://planescapecomic.com/%s.html'
imageSearch = compile(r'src="(comics/.+?)"') imageSearch = compile(r'src="(comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><img alt="Previous" ') prevSearch = compile(r'<a href="(.+?)"><img alt="Previous" ')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -7,7 +7,7 @@ from ..scraper import _BasicScraper
class QuestionableContent(_BasicScraper): class QuestionableContent(_BasicScraper):
latestUrl = 'http://www.questionablecontent.net/' latestUrl = 'http://www.questionablecontent.net/'
imageUrl = 'http://www.questionablecontent.net/view.php?comic=%s' stripUrl = 'http://www.questionablecontent.net/view.php?comic=%s'
imageSearch = compile(r'/(comics/\d+\.png)"') imageSearch = compile(r'/(comics/\d+\.png)"')
prevSearch = compile(r'<a href="(view.php\?comic=\d+)">Previous') prevSearch = compile(r'<a href="(view.php\?comic=\d+)">Previous')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -16,7 +16,7 @@ class QuestionableContent(_BasicScraper):
class Qwantz(_BasicScraper): class Qwantz(_BasicScraper):
latestUrl = 'http://www.qwantz.com/index.php' latestUrl = 'http://www.qwantz.com/index.php'
imageUrl = 'http://www.qwantz.com/index.php?comic=%s' stripUrl = 'http://www.qwantz.com/index.php?comic=%s'
imageSearch = compile(r'<img src="(http://www.qwantz.com/comics/.+?)" class="comic"') imageSearch = compile(r'<img src="(http://www.qwantz.com/comics/.+?)" class="comic"')
prevSearch = compile(r'"><a href="(.+?)">&larr; previous</a>') prevSearch = compile(r'"><a href="(.+?)">&larr; previous</a>')
help = 'Index format: n' help = 'Index format: n'

View file

@ -8,7 +8,7 @@ from ..helpers import bounceStarter
class RadioactivePanda(_BasicScraper): class RadioactivePanda(_BasicScraper):
latestUrl = 'http://www.radioactivepanda.com/' latestUrl = 'http://www.radioactivepanda.com/'
imageUrl = 'http://www.radioactivepanda.com/comic/%s' stripUrl = 'http://www.radioactivepanda.com/comic/%s'
imageSearch = compile(r'<img src="(/Assets/.*?)".+?"comicimg"') imageSearch = compile(r'<img src="(/Assets/.*?)".+?"comicimg"')
prevSearch = compile(r'<a href="(/comic/.*?)".+?previous_btn') prevSearch = compile(r'<a href="(/comic/.*?)".+?previous_btn')
help = 'Index format: n (no padding)' help = 'Index format: n (no padding)'
@ -16,7 +16,7 @@ class RadioactivePanda(_BasicScraper):
class Rascals(_BasicScraper): class Rascals(_BasicScraper):
latestUrl = 'http://petitesymphony.com/rascals' latestUrl = 'http://petitesymphony.com/rascals'
imageUrl = 'http://petitesymphony.com/comic/rascals/%s' stripUrl = 'http://petitesymphony.com/comic/rascals/%s'
imageSearch = compile(r'(http://petitesymphony.com/comics/.+?)"') imageSearch = compile(r'(http://petitesymphony.com/comics/.+?)"')
prevSearch = compile(r"KR-nav-previous.><a href=.(http.+?).>") prevSearch = compile(r"KR-nav-previous.><a href=.(http.+?).>")
help = 'Index format: non' help = 'Index format: non'
@ -24,7 +24,7 @@ class Rascals(_BasicScraper):
class RealLife(_BasicScraper): class RealLife(_BasicScraper):
latestUrl = 'http://www.reallifecomics.com/' latestUrl = 'http://www.reallifecomics.com/'
imageUrl = 'http://www.reallifecomics.com/achive/%s.html' stripUrl = 'http://www.reallifecomics.com/achive/%s.html'
imageSearch = compile(r'"(/comics/.+?)"') imageSearch = compile(r'"(/comics/.+?)"')
prevSearch = compile(r'"(/archive/.+?)".+?nav_previous') prevSearch = compile(r'"(/archive/.+?)".+?nav_previous')
help = 'Index format: yymmdd)' help = 'Index format: yymmdd)'
@ -33,7 +33,7 @@ class RealLife(_BasicScraper):
class RedString(_BasicScraper): class RedString(_BasicScraper):
latestUrl = 'http://www.redstring.strawberrycomics.com/' latestUrl = 'http://www.redstring.strawberrycomics.com/'
imageUrl = 'http://www.redstring.strawberrycomics.com/?p=%s' stripUrl = 'http://www.redstring.strawberrycomics.com/?p=%s'
imageSearch = compile(r'<img src="(http://www.redstring.strawberrycomics.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.redstring.strawberrycomics.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)">Previous Comic</a>') prevSearch = compile(r'<a href="(.+?)">Previous Comic</a>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -42,7 +42,7 @@ class RedString(_BasicScraper):
class Roza(_BasicScraper): class Roza(_BasicScraper):
latestUrl = 'http://www.junglestudio.com/roza/index.php' latestUrl = 'http://www.junglestudio.com/roza/index.php'
imageUrl = 'http://www.junglestudio.com/roza/index.php\?date=%s' stripUrl = 'http://www.junglestudio.com/roza/index.php\?date=%s'
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'
@ -50,7 +50,7 @@ class Roza(_BasicScraper):
class RedMeat(_BasicScraper): class RedMeat(_BasicScraper):
starter = bounceStarter('http://www.redmeat.com/redmeat/current/index.html', compile(r'<a href="(\.\./\d{4}-\d{2}-\d{2}/index\.html)">next</a>')) starter = bounceStarter('http://www.redmeat.com/redmeat/current/index.html', compile(r'<a href="(\.\./\d{4}-\d{2}-\d{2}/index\.html)">next</a>'))
imageUrl = 'http://www.redmeat.com/redmeat/%s/index.html' stripUrl = 'http://www.redmeat.com/redmeat/%s/index.html'
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'
@ -61,7 +61,7 @@ class RedMeat(_BasicScraper):
class RunningWild(_BasicScraper): class RunningWild(_BasicScraper):
latestUrl = 'http://runningwild.katbox.net/' latestUrl = 'http://runningwild.katbox.net/'
imageUrl = 'http://runningwild.katbox.net/index.php?strip_id=%s' stripUrl = 'http://runningwild.katbox.net/index.php?strip_id=%s'
imageSearch = compile(r'="(.+?strips/.+?)"') imageSearch = compile(r'="(.+?strips/.+?)"')
prevSearch = compile(r'(index.php\?strip_id=.+?)".+?navigation_back') prevSearch = compile(r'(index.php\?strip_id=.+?)".+?navigation_back')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'

View file

@ -9,7 +9,7 @@ from ..helpers import bounceStarter, indirectStarter
class SailorsunOrg(_BasicScraper): class SailorsunOrg(_BasicScraper):
latestUrl = 'http://www.sailorsun.org/' latestUrl = 'http://www.sailorsun.org/'
imageUrl = 'http://www.sailorsun.org/browse.php?comicID=%s' stripUrl = 'http://www.sailorsun.org/browse.php?comicID=%s'
imageSearch = compile(r'(comics/.+?)"') imageSearch = compile(r'(comics/.+?)"')
prevSearch = compile(r'/(browse.php.+?)".+?/prev.gif') prevSearch = compile(r'/(browse.php.+?)".+?/prev.gif')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -18,7 +18,7 @@ class SailorsunOrg(_BasicScraper):
class SamAndFuzzy(_BasicScraper): class SamAndFuzzy(_BasicScraper):
latestUrl = 'http://www.samandfuzzy.com/' latestUrl = 'http://www.samandfuzzy.com/'
imageUrl = 'http://samandfuzzy.com/%s' stripUrl = 'http://samandfuzzy.com/%s'
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'
@ -27,7 +27,7 @@ class SamAndFuzzy(_BasicScraper):
class SarahZero(_BasicScraper): class SarahZero(_BasicScraper):
latestUrl = 'http://www.sarahzero.com/' latestUrl = 'http://www.sarahzero.com/'
imageUrl = 'http://www.sarahzero.com/sz_%s.html' stripUrl = 'http://www.sarahzero.com/sz_%s.html'
imageSearch = compile(r'<img src="(z_(?:(?:spreads)|(?:temp)).+?)" alt=""') imageSearch = compile(r'<img src="(z_(?:(?:spreads)|(?:temp)).+?)" alt=""')
prevSearch = compile(r'onmouseout="changeImages\(\'sz_05_nav\',\'z_site/sz_05_nav.gif\'\);return true" href="(sz_.+?)">') prevSearch = compile(r'onmouseout="changeImages\(\'sz_05_nav\',\'z_site/sz_05_nav.gif\'\);return true" href="(sz_.+?)">')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -36,7 +36,7 @@ class SarahZero(_BasicScraper):
class ScaryGoRound(_BasicScraper): class ScaryGoRound(_BasicScraper):
latestUrl = 'http://www.scarygoround.com/' latestUrl = 'http://www.scarygoround.com/'
imageUrl = 'http://www.scarygoround.com/?date=%s' stripUrl = 'http://www.scarygoround.com/?date=%s'
imageSearch = compile(r'<img src="(strips/\d{8}\..{3})"') imageSearch = compile(r'<img src="(strips/\d{8}\..{3})"')
prevSearch = compile(r'f><a href="(.+?)"><img src="site-images/previous.png"') prevSearch = compile(r'f><a href="(.+?)"><img src="site-images/previous.png"')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -45,7 +45,7 @@ class ScaryGoRound(_BasicScraper):
class SchoolBites(_BasicScraper): class SchoolBites(_BasicScraper):
latestUrl = 'http://www.schoolbites.net/' latestUrl = 'http://www.schoolbites.net/'
imageUrl = 'http://www.schoolbites.net/d/%s.html' stripUrl = 'http://www.schoolbites.net/d/%s.html'
imageSearch = compile(r'(/comics/.+?)"') imageSearch = compile(r'(/comics/.+?)"')
prevSearch = compile(r'first_day.+?(/d/.+?.html).+?/previous_day.gif') prevSearch = compile(r'first_day.+?(/d/.+?.html).+?/previous_day.gif')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -54,7 +54,7 @@ class SchoolBites(_BasicScraper):
class SinFest(_BasicScraper): class SinFest(_BasicScraper):
name = 'KeenSpot/SinFest' name = 'KeenSpot/SinFest'
latestUrl = 'http://www.sinfest.net/' latestUrl = 'http://www.sinfest.net/'
imageUrl = 'http://www.sinfest.net/archive_page.php?comicID=%s' stripUrl = 'http://www.sinfest.net/archive_page.php?comicID=%s'
imageSearch = compile(r'<img src=".+?(/comikaze/comics/.+?)"') imageSearch = compile(r'<img src=".+?(/comikaze/comics/.+?)"')
prevSearch = compile(r'(/archive_page.php\?comicID=.+?)".+?prev_a') prevSearch = compile(r'(/archive_page.php\?comicID=.+?)".+?prev_a')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -62,7 +62,7 @@ class SinFest(_BasicScraper):
class SlightlyDamned(_BasicScraper): class SlightlyDamned(_BasicScraper):
latestUrl = 'http://raizap.com/sdamned/index.php' latestUrl = 'http://raizap.com/sdamned/index.php'
imageUrl = 'http://raizap.com/sdamned/pages.php\?comicID=%s' stripUrl = 'http://raizap.com/sdamned/pages.php\?comicID=%s'
imageSearch = compile(r'"(.+?comics2/.+?)"') imageSearch = compile(r'"(.+?comics2/.+?)"')
prevSearch = compile(r'</a>.+?(pages.php\?comicID=.+?)".+?back1') prevSearch = compile(r'</a>.+?(pages.php\?comicID=.+?)".+?back1')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -71,7 +71,7 @@ class SlightlyDamned(_BasicScraper):
class SluggyFreelance(_BasicScraper): class SluggyFreelance(_BasicScraper):
latestUrl = 'http://www.sluggy.com/' latestUrl = 'http://www.sluggy.com/'
imageUrl = 'http://www.sluggy.com/comics/archives/daily/%s' stripUrl = 'http://www.sluggy.com/comics/archives/daily/%s'
imageSearch = compile(r'<img src="(/images/comics/.+?)"') imageSearch = compile(r'<img src="(/images/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"[^>]+?><span class="ui-icon ui-icon-seek-prev">') prevSearch = compile(r'<a href="(.+?)"[^>]+?><span class="ui-icon ui-icon-seek-prev">')
help = 'Index format: yymmdd' help = 'Index format: yymmdd'
@ -79,7 +79,7 @@ class SluggyFreelance(_BasicScraper):
class SodiumEyes(_BasicScraper): class SodiumEyes(_BasicScraper):
imageUrl = 'http://sodiumeyes.com/%s' stripUrl = 'http://sodiumeyes.com/%s'
imageSearch = compile(r'(/comic/.+?)"') imageSearch = compile(r'(/comic/.+?)"')
prevSearch = compile(r'"http://sodiumeyes.com/(.+?/)"><.+?comic-prev') prevSearch = compile(r'"http://sodiumeyes.com/(.+?/)"><.+?comic-prev')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -90,7 +90,7 @@ class SodiumEyes(_BasicScraper):
class SpareParts(_BasicScraper): class SpareParts(_BasicScraper):
latestUrl = 'http://www.sparepartscomics.com/' latestUrl = 'http://www.sparepartscomics.com/'
imageUrl = 'http://www.sparepartscomics.com/comics/\\?date=s%' stripUrl = 'http://www.sparepartscomics.com/comics/\\?date=s%'
imageSearch = compile(r'(/comics/2.+?)[" ]') imageSearch = compile(r'(/comics/2.+?)[" ]')
prevSearch = compile(r'(/comics/.+?|index.php\?.+?)".+?Prev') prevSearch = compile(r'(/comics/.+?|index.php\?.+?)".+?Prev')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -99,7 +99,7 @@ class SpareParts(_BasicScraper):
class Stubble(_BasicScraper): class Stubble(_BasicScraper):
latestUrl = 'http://www.stubblecomics.com/d/20051230.html' latestUrl = 'http://www.stubblecomics.com/d/20051230.html'
imageUrl = 'http://www.stubblecomics.com/d/%s.html' stripUrl = 'http://www.stubblecomics.com/d/%s.html'
imageSearch = compile(r'"(/comics/.*?)"') imageSearch = compile(r'"(/comics/.*?)"')
prevSearch = compile(r'"(.*?)".*?backarrow') prevSearch = compile(r'"(.*?)".*?backarrow')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -108,7 +108,7 @@ class Stubble(_BasicScraper):
class StrawberryDeathCake(_BasicScraper): class StrawberryDeathCake(_BasicScraper):
latestUrl = 'http://rainchildstudios.com/strawberry/' latestUrl = 'http://rainchildstudios.com/strawberry/'
imageUrl = 'http://rainchildstudios.com/strawberry/?p=%s' stripUrl = 'http://rainchildstudios.com/strawberry/?p=%s'
imageSearch = compile(r'/(comics/.+?)"') imageSearch = compile(r'/(comics/.+?)"')
prevSearch = compile(r'strawberry/(\?p=.+?)".+?span class="prev"') prevSearch = compile(r'strawberry/(\?p=.+?)".+?span class="prev"')
help = 'Index format: n (good luck)' help = 'Index format: n (good luck)'
@ -117,7 +117,7 @@ class StrawberryDeathCake(_BasicScraper):
class SuburbanTribe(_BasicScraper): class SuburbanTribe(_BasicScraper):
latestUrl = 'http://www.pixelwhip.com/' latestUrl = 'http://www.pixelwhip.com/'
imageUrl = 'http://www.pixelwhip.com/?p%s' stripUrl = 'http://www.pixelwhip.com/?p%s'
imageSearch = compile(r'<img src="(http://www.pixelwhip.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.pixelwhip.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: nnnn' help = 'Index format: nnnn'
@ -126,7 +126,7 @@ class SuburbanTribe(_BasicScraper):
class SuccubusJustice(_BasicScraper): class SuccubusJustice(_BasicScraper):
latestUrl = 'http://www.succubus-justice.com/Com%20main%20frame.htm' latestUrl = 'http://www.succubus-justice.com/Com%20main%20frame.htm'
imageUrl = 'http://www.succubus-justice.com/%s%%20frame.htm' stripUrl = 'http://www.succubus-justice.com/%s%%20frame.htm'
imageSearch = compile(r'<p align="center"><img src="(/\d+.\w{3,4})"') imageSearch = compile(r'<p align="center"><img src="(/\d+.\w{3,4})"')
prevSearch = compile(r'<a href="(/[\w%]+\.htm|[\w%]+\.htm)"[^>]+?><img src="124.gif"') prevSearch = compile(r'<a href="(/[\w%]+\.htm|[\w%]+\.htm)"[^>]+?><img src="124.gif"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -135,7 +135,7 @@ class SuccubusJustice(_BasicScraper):
class Supafine(_BasicScraper): class Supafine(_BasicScraper):
latestUrl = 'http://www.supafine.com/comics/classic.php' latestUrl = 'http://www.supafine.com/comics/classic.php'
imageUrl = 'http://www.supafine.com/comics/classic.php?comicID=%s' stripUrl = 'http://www.supafine.com/comics/classic.php?comicID=%s'
imageSearch = compile(r'<img src="(http://www.supafine.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.supafine.com/comics/.+?)"')
prevSearch = compile(r'<a href="(http://www.supafine.com/comics/classic.php\?.+?)"><img src="http://supafine.com/comikaze/images/previous.gif" ') prevSearch = compile(r'<a href="(http://www.supafine.com/comics/classic.php\?.+?)"><img src="http://supafine.com/comikaze/images/previous.gif" ')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -144,7 +144,7 @@ class Supafine(_BasicScraper):
class SomethingPositive(_BasicScraper): class SomethingPositive(_BasicScraper):
latestUrl = 'http://www.somethingpositive.net/' latestUrl = 'http://www.somethingpositive.net/'
imageUrl = 'http://www.somethingpositive.net/sp%s.shtml' stripUrl = 'http://www.somethingpositive.net/sp%s.shtml'
imageSearch = compile(r'<img src="(/arch/sp\d+.\w{3,4}|/sp\d+.\w{3,4})"') imageSearch = compile(r'<img src="(/arch/sp\d+.\w{3,4}|/sp\d+.\w{3,4})"')
prevSearch = compile(r'<a \n?href="(sp\d{8}\.shtml)">(<font size=1\nface=".+?"\nSTYLE=".+?">Previous|<img src="images2/previous|<img src="images/previous.gif")', MULTILINE | IGNORECASE) prevSearch = compile(r'<a \n?href="(sp\d{8}\.shtml)">(<font size=1\nface=".+?"\nSTYLE=".+?">Previous|<img src="images2/previous|<img src="images/previous.gif")', MULTILINE | IGNORECASE)
help = 'Index format: mmddyyyy' help = 'Index format: mmddyyyy'
@ -156,7 +156,7 @@ class SomethingPositive(_BasicScraper):
class SexyLosers(_BasicScraper): class SexyLosers(_BasicScraper):
imageUrl = 'http://www.sexylosers.com/%s.html' stripUrl = 'http://www.sexylosers.com/%s.html'
imageSearch = compile(r'<img src\s*=\s*"\s*(comics/[\w\.]+?)"', IGNORECASE) imageSearch = compile(r'<img src\s*=\s*"\s*(comics/[\w\.]+?)"', IGNORECASE)
prevSearch = compile(r'<a href="(/\d{3}\.\w+?)"><font color = FFAAAA><<', IGNORECASE) prevSearch = compile(r'<a href="(/\d{3}\.\w+?)"><font color = FFAAAA><<', IGNORECASE)
help = 'Index format: nnn' help = 'Index format: nnn'
@ -172,8 +172,10 @@ class SexyLosers(_BasicScraper):
def smackJeeves(names): def smackJeeves(names):
# XXX mature content can be viewed directly with:
# http://www.smackjeeves.com/mature.php?ref=<percent-encoded-url>
class _SJScraper(_BasicScraper): class _SJScraper(_BasicScraper):
imageUrl = property(lambda self: self.baseUrl + self.shortName) stripUrl = property(lambda self: self.baseUrl + self.shortName)
imageSearch = compile(r'<img src="(http://www\.smackjeeves\.com/images/uploaded/comics/[^"]*)"', IGNORECASE) imageSearch = compile(r'<img src="(http://www\.smackjeeves\.com/images/uploaded/comics/[^"]*)"', IGNORECASE)
prevSearch = compile(r'<a href="(/comics/\d+/[^"]*)"><img[^>]*alt="< Previous"', IGNORECASE) prevSearch = compile(r'<a href="(/comics/\d+/[^"]*)"><img[^>]*alt="< Previous"', IGNORECASE)
help = 'Index format: nnnn (some increasing number)' help = 'Index format: nnnn (some increasing number)'
@ -213,7 +215,7 @@ globals().update(smackJeeves([
class StarCrossdDestiny(_BasicScraper): class StarCrossdDestiny(_BasicScraper):
latestUrl = 'http://www.starcrossd.net/comic.html' latestUrl = 'http://www.starcrossd.net/comic.html'
imageUrl = 'http://www.starcrossd.net/archives/%s.html' stripUrl = 'http://www.starcrossd.net/archives/%s.html'
imageSearch = compile(r'<img src="(http://www\.starcrossd\.net/(?:ch1|strips|book2)/[^"]+)">') imageSearch = compile(r'<img src="(http://www\.starcrossd\.net/(?:ch1|strips|book2)/[^"]+)">')
prevSearch = compile(r'<a href="(http://www\.starcrossd\.net/(?:ch1/)?archives/\d+\.html)"[^>]*"[^"]*"[^>]*>prev', IGNORECASE) prevSearch = compile(r'<a href="(http://www\.starcrossd\.net/(?:ch1/)?archives/\d+\.html)"[^>]*"[^"]*"[^>]*>prev', IGNORECASE)
help = 'Index format: nnnnnnnn' help = 'Index format: nnnnnnnn'
@ -232,7 +234,7 @@ class StarCrossdDestiny(_BasicScraper):
class SGVY(_BasicScraper): class SGVY(_BasicScraper):
imageUrl = 'http://www.sgvy.com/Edda%s/Issue%s/Page%s.html' stripUrl = 'http://www.sgvy.com/Edda%s/Issue%s/Page%s.html'
imageSearch = compile(r'"comic" src="((?:\.\./)+images/sgvy/sgvy-[-\w\d]+\.\w+)"') imageSearch = compile(r'"comic" src="((?:\.\./)+images/sgvy/sgvy-[-\w\d]+\.\w+)"')
prevSearch = compile(r'<a href="((?:\.\./)+(?:Edda\d+|Holiday)/(?:Issue\d+/Page\d+|Cover)\.html)">Prev</a>') prevSearch = compile(r'<a href="((?:\.\./)+(?:Edda\d+|Holiday)/(?:Issue\d+/Page\d+|Cover)\.html)">Prev</a>')
help = 'Index format: edda-issue-page' help = 'Index format: edda-issue-page'
@ -240,11 +242,11 @@ class SGVY(_BasicScraper):
starter = indirectStarter('http://www.sgvy.com/', compile(r'<a href="(archives/(?:Edda\d+|Holiday)/(?:Issue\d+/Page\d+|Cover)\.html)">')) starter = indirectStarter('http://www.sgvy.com/', compile(r'<a href="(archives/(?:Edda\d+|Holiday)/(?:Issue\d+/Page\d+|Cover)\.html)">'))
def setStrip(self, index): def setStrip(self, index):
self.currentUrl = self.imageUrl % tuple(map(int, index.split('-'))) self.currentUrl = self.stripUrl % tuple(map(int, index.split('-')))
class Spamusement(_BasicScraper): class Spamusement(_BasicScraper):
imageUrl = 'http://spamusement.com/index.php/comics/view/%s' stripUrl = 'http://spamusement.com/index.php/comics/view/%s'
imageSearch = compile(r'<img src="(http://spamusement.com/gfx/\d+\..+?)"', IGNORECASE) imageSearch = compile(r'<img src="(http://spamusement.com/gfx/\d+\..+?)"', IGNORECASE)
prevSearch = compile(r'<a href="(http://spamusement.com/index.php/comics/view/.+?)">', IGNORECASE) prevSearch = compile(r'<a href="(http://spamusement.com/index.php/comics/view/.+?)">', IGNORECASE)
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -260,7 +262,7 @@ def snafuComics():
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@property @property
def imageUrl(self): def stripUrl(self):
return self.latestUrl + 'index.php?strip_id=%s' return self.latestUrl + 'index.php?strip_id=%s'
comics = { comics = {
@ -294,7 +296,7 @@ globals().update(snafuComics())
class SosiaalisestiRajoittuneet(_BasicScraper): class SosiaalisestiRajoittuneet(_BasicScraper):
latestUrl = 'http://sosiaalisestirajoittuneet.fi/index_nocomment.php' latestUrl = 'http://sosiaalisestirajoittuneet.fi/index_nocomment.php'
imageUrl = 'http://sosiaalisestirajoittuneet.fi/index_nocomment.php?date=%s' stripUrl = 'http://sosiaalisestirajoittuneet.fi/index_nocomment.php?date=%s'
imageSearch = compile(r'<img src="(strips/web/\d+.jpg)" alt=".*?" />') imageSearch = compile(r'<img src="(strips/web/\d+.jpg)" alt=".*?" />')
prevSearch = compile(r'<a href="(index_nocomment\.php\?date=\d+)"><img\s+src="images/active_edellinen\.gif"', MULTILINE) prevSearch = compile(r'<a href="(index_nocomment\.php\?date=\d+)"><img\s+src="images/active_edellinen\.gif"', MULTILINE)
@ -302,7 +304,7 @@ class SosiaalisestiRajoittuneet(_BasicScraper):
class StrangeCandy(_BasicScraper): class StrangeCandy(_BasicScraper):
latestUrl = 'http://www.strangecandy.net/' latestUrl = 'http://www.strangecandy.net/'
imageUrl = 'http://www.strangecandy.net/d/%s.html' stripUrl = 'http://www.strangecandy.net/d/%s.html'
imageSearch = compile(r'src="(http://www.strangecandy.net/comics/\d{8}.\w{1,4})"') imageSearch = compile(r'src="(http://www.strangecandy.net/comics/\d{8}.\w{1,4})"')
prevSearch = compile(r'<a href="(http://www.strangecandy.net/d/\d{8}.html)"><img[^>]+?src="http://www.strangecandy.net/images/previous_day.gif"') prevSearch = compile(r'<a href="(http://www.strangecandy.net/d/\d{8}.html)"><img[^>]+?src="http://www.strangecandy.net/images/previous_day.gif"')
help = 'Index format: yyyyddmm' help = 'Index format: yyyyddmm'
@ -311,7 +313,7 @@ class StrangeCandy(_BasicScraper):
class SMBC(_BasicScraper): class SMBC(_BasicScraper):
latestUrl = 'http://www.smbc-comics.com/' latestUrl = 'http://www.smbc-comics.com/'
imageUrl = 'http://www.smbc-comics.com/index.php?db=comics&id=%s' stripUrl = 'http://www.smbc-comics.com/index.php?db=comics&id=%s'
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'
@ -320,7 +322,7 @@ class SMBC(_BasicScraper):
class SomethingLikeLife(_BasicScraper): class SomethingLikeLife(_BasicScraper):
latestUrl = 'http://www.pulledpunches.com/' latestUrl = 'http://www.pulledpunches.com/'
imageUrl = 'http://www.pulledpunches.com/?p=%s' stripUrl = 'http://www.pulledpunches.com/?p=%s'
imageSearch = compile(r'<img src="(http://www.pulledpunches.com/comics/[^"]*)"') imageSearch = compile(r'<img src="(http://www.pulledpunches.com/comics/[^"]*)"')
prevSearch = compile(r'</a> <a href="(http://www.pulledpunches.com/\?p=[^"]*)"><img src="back1.gif"') prevSearch = compile(r'</a> <a href="(http://www.pulledpunches.com/\?p=[^"]*)"><img src="back1.gif"')
help = 'Index format: nn' help = 'Index format: nn'
@ -329,7 +331,7 @@ class SomethingLikeLife(_BasicScraper):
class StickEmUpComics(_BasicScraper): class StickEmUpComics(_BasicScraper):
latestUrl = 'http://stickemupcomics.com/' latestUrl = 'http://stickemupcomics.com/'
imageUrl = 'http://stickemupcomics.com/%s' stripUrl = 'http://stickemupcomics.com/%s'
imageSearch = compile(r'<img src="(http://stickemupcomics.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://stickemupcomics.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"><span class="prev">') prevSearch = compile(r'<a href="(.+?)"><span class="prev">')
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -338,7 +340,7 @@ class StickEmUpComics(_BasicScraper):
class SexDemonBag(_BasicScraper): class SexDemonBag(_BasicScraper):
latestUrl = 'http://www.sexdemonbag.com/' latestUrl = 'http://www.sexdemonbag.com/'
imageUrl = 'http://www.sexdemonbag.com/?p=%s' stripUrl = 'http://www.sexdemonbag.com/?p=%s'
imageSearch = compile(r'<img src="(http://www.sexdemonbag.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.sexdemonbag.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -8,7 +8,7 @@ from ..helpers import indirectStarter
class TalesOfPylea(_BasicScraper): class TalesOfPylea(_BasicScraper):
latestUrl = 'http://talesofpylea.com/' latestUrl = 'http://talesofpylea.com/'
imageUrl = 'http://talesofpylea.com/%s/' stripUrl = 'http://talesofpylea.com/%s/'
imageSearch = compile(r'<img src="(istrip_files/strips/.+?)"') imageSearch = compile(r'<img src="(istrip_files/strips/.+?)"')
prevSearch = compile(r' <a href="(.+?)">Back</a>') prevSearch = compile(r' <a href="(.+?)">Back</a>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -17,7 +17,7 @@ class TalesOfPylea(_BasicScraper):
class TheNoob(_BasicScraper): class TheNoob(_BasicScraper):
latestUrl = 'http://www.thenoobcomic.com/index.php' latestUrl = 'http://www.thenoobcomic.com/index.php'
imageUrl = 'http://www.thenoobcomic.com/index.php?pos=%' stripUrl = 'http://www.thenoobcomic.com/index.php?pos=%'
imageSearch = compile(r'<img src="(/headquarters/comics/.+?)"') imageSearch = compile(r'<img src="(/headquarters/comics/.+?)"')
prevSearch = compile(r'<a class="comic_nav_previous_button" href="(.+?)"></a>') prevSearch = compile(r'<a class="comic_nav_previous_button" href="(.+?)"></a>')
help = 'Index format: nnnn' help = 'Index format: nnnn'
@ -26,7 +26,7 @@ class TheNoob(_BasicScraper):
class TheOrderOfTheStick(_BasicScraper): class TheOrderOfTheStick(_BasicScraper):
latestUrl = 'http://www.giantitp.com/' latestUrl = 'http://www.giantitp.com/'
imageUrl = 'http://www.giantitp.com/comics/images/%s' stripUrl = 'http://www.giantitp.com/comics/images/%s'
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)'
@ -36,7 +36,7 @@ class TheOrderOfTheStick(_BasicScraper):
class TheParkingLotIsFull(_BasicScraper): class TheParkingLotIsFull(_BasicScraper):
latestUrl = 'http://plif.courageunfettered.com/archive/arch2002.htm' latestUrl = 'http://plif.courageunfettered.com/archive/arch2002.htm'
imageUrl = 'http://plif.courageunfettered.com/archive/wc%s.gif' stripUrl = 'http://plif.courageunfettered.com/archive/wc%s.gif'
imageSearch = compile(r'<td align="center"><A TARGET=_parent HREF="(wc\d+\..+?)">') imageSearch = compile(r'<td align="center"><A TARGET=_parent HREF="(wc\d+\..+?)">')
prevSearch = compile(r'-\s*\n\s*<A HREF="(arch\d{4}\.htm)">\d{4}</A>') prevSearch = compile(r'-\s*\n\s*<A HREF="(arch\d{4}\.htm)">\d{4}</A>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -45,7 +45,7 @@ class TheParkingLotIsFull(_BasicScraper):
class TheWotch(_BasicScraper): class TheWotch(_BasicScraper):
latestUrl = 'http://www.thewotch.com/' latestUrl = 'http://www.thewotch.com/'
imageUrl = 'http://www.thewotch.com/?epDate=%s' stripUrl = 'http://www.thewotch.com/?epDate=%s'
imageSearch = compile(r"<img.+?src='(comics/.+?)'") imageSearch = compile(r"<img.+?src='(comics/.+?)'")
prevSearch = compile(r"<link rel='Previous' href='(\?epDate=\d+-\d+-\d+)'") prevSearch = compile(r"<link rel='Previous' href='(\?epDate=\d+-\d+-\d+)'")
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
@ -53,7 +53,7 @@ class TheWotch(_BasicScraper):
class Thorn(_BasicScraper): class Thorn(_BasicScraper):
latestUrl = 'http://www.mimisgrotto.com/thorn/index.html' latestUrl = 'http://www.mimisgrotto.com/thorn/index.html'
imageUrl = 'http://www.mimisgrotto.com/thorn/%s.html' stripUrl = 'http://www.mimisgrotto.com/thorn/%s.html'
imageSearch = compile(r'"(strips/.+?)"') imageSearch = compile(r'"(strips/.+?)"')
prevSearch = compile(r'(\d[\d][\d].html)">Prev') prevSearch = compile(r'(\d[\d][\d].html)">Prev')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -62,7 +62,7 @@ class Thorn(_BasicScraper):
class TwoTwoOneFour(_BasicScraper): class TwoTwoOneFour(_BasicScraper):
latestUrl = 'http://www.nitrocosm.com/go/2214_classic/' latestUrl = 'http://www.nitrocosm.com/go/2214_classic/'
imageUrl = 'http://www.nitrocosm.com/go/2214_classic/%s/' stripUrl = 'http://www.nitrocosm.com/go/2214_classic/%s/'
imageSearch = compile(r'<img class="gallery_display" src="([^"]+)"') imageSearch = compile(r'<img class="gallery_display" src="([^"]+)"')
prevSearch = compile(r'<a href="([^"]+)"[^>]*><button type="submit" class="nav_btn_previous">') prevSearch = compile(r'<a href="([^"]+)"[^>]*><button type="submit" class="nav_btn_previous">')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -71,7 +71,7 @@ class TwoTwoOneFour(_BasicScraper):
class TheWhiteboard(_BasicScraper): class TheWhiteboard(_BasicScraper):
latestUrl = 'http://www.the-whiteboard.com/' latestUrl = 'http://www.the-whiteboard.com/'
imageUrl = 'http://www.the-whiteboard.com/auto%s.html' stripUrl = 'http://www.the-whiteboard.com/auto%s.html'
imageSearch = compile(r'<img SRC="(autotwb\d{1,4}.+?|autowb\d{1,4}.+?)">', IGNORECASE) imageSearch = compile(r'<img SRC="(autotwb\d{1,4}.+?|autowb\d{1,4}.+?)">', IGNORECASE)
prevSearch = compile(r'&nbsp<a href="(.+?)">previous</a>', IGNORECASE) prevSearch = compile(r'&nbsp<a href="(.+?)">previous</a>', IGNORECASE)
help = 'Index format: twb or wb + n wg. twb1000' help = 'Index format: twb or wb + n wg. twb1000'
@ -89,7 +89,7 @@ class _TheFallenAngel(_BasicScraper):
@property @property
def imageUrl(self): def stripUrl(self):
return self.baseUrl + '?date=%s' return self.baseUrl + '?date=%s'
@ -119,7 +119,7 @@ class MalloryChan(_TheFallenAngel):
class HMHigh(_BasicScraper): class HMHigh(_BasicScraper):
name = 'TheFallenAngel/HMHigh' name = 'TheFallenAngel/HMHigh'
latestUrl = 'http://www.thefallenangel.co.uk/hmhigh/' latestUrl = 'http://www.thefallenangel.co.uk/hmhigh/'
imageUrl = 'http://www.thefallenangel.co.uk/hmhigh/?id=%s' stripUrl = 'http://www.thefallenangel.co.uk/hmhigh/?id=%s'
imageSearch = compile(r'<img src="(http://www.thefallenangel.co.uk/hmhigh/img/comic/.+?)"') imageSearch = compile(r'<img src="(http://www.thefallenangel.co.uk/hmhigh/img/comic/.+?)"')
prevSearch = compile(r' <a href="(http://www.thefallenangel.co.uk/.+?)" title=".+?">Prev</a>') prevSearch = compile(r' <a href="(http://www.thefallenangel.co.uk/.+?)" title=".+?">Prev</a>')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -128,7 +128,7 @@ class HMHigh(_BasicScraper):
class TheOuterQuarter(_BasicScraper): class TheOuterQuarter(_BasicScraper):
latestUrl = 'http://theouterquarter.com/' latestUrl = 'http://theouterquarter.com/'
imageUrl = 'http://theouterquarter.com/comic/%s' stripUrl = 'http://theouterquarter.com/comic/%s'
imageSearch = compile(r'<img src="(http://theouterquarter.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://theouterquarter.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: nnn' help = 'Index format: nnn'
@ -137,7 +137,7 @@ class TheOuterQuarter(_BasicScraper):
class TheHorrificAdventuresOfFranky(_BasicScraper): class TheHorrificAdventuresOfFranky(_BasicScraper):
latestUrl = 'http://www.boneyardfranky.com/' latestUrl = 'http://www.boneyardfranky.com/'
imageUrl = 'http://www.boneyardfranky.com/?p=%s' stripUrl = 'http://www.boneyardfranky.com/?p=%s'
imageSearch = compile(r'<img src="(http://www.boneyardfranky.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://www.boneyardfranky.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">')
help = 'Index format: nnn' help = 'Index format: nnn'

View file

@ -9,14 +9,14 @@ from ..util import getQueryParams
class UnderPower(_BasicScraper): class UnderPower(_BasicScraper):
latestUrl = 'http://underpower.non-essential.com/' latestUrl = 'http://underpower.non-essential.com/'
imageUrl = 'http://underpower.non-essential.com/index.php?comic=%s' stripUrl = 'http://underpower.non-essential.com/index.php?comic=%s'
imageSearch = compile(r'<img src="(comics/\d{8}\..+?)"') imageSearch = compile(r'<img src="(comics/\d{8}\..+?)"')
prevSearch = compile(r'<a href="(/index.php\?comic=\d{8})"><img src="images/previous-comic\.gif"') prevSearch = compile(r'<a href="(/index.php\?comic=\d{8})"><img src="images/previous-comic\.gif"')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
class Undertow(_BasicScraper): class Undertow(_BasicScraper):
imageUrl = 'http://undertow.dreamshards.org/%s' stripUrl = 'http://undertow.dreamshards.org/%s'
imageSearch = compile(r'<img src="(.+?)"') imageSearch = compile(r'<img src="(.+?)"')
prevSearch = compile(r'href="(.+?)".+?teynpoint') prevSearch = compile(r'href="(.+?)".+?teynpoint')
help = 'Index format: good luck !' help = 'Index format: good luck !'
@ -26,7 +26,7 @@ class Undertow(_BasicScraper):
class UnicornJelly(_BasicScraper): class UnicornJelly(_BasicScraper):
latestUrl = 'http://unicornjelly.com/uni666.html' latestUrl = 'http://unicornjelly.com/uni666.html'
imageUrl = 'http://unicornjelly.com/uni%s.html' stripUrl = 'http://unicornjelly.com/uni%s.html'
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'
@ -34,7 +34,7 @@ class UnicornJelly(_BasicScraper):
class UserFriendly(_BasicScraper): class UserFriendly(_BasicScraper):
starter = bounceStarter('http://ars.userfriendly.org/cartoons/?mode=classic', compile(r'<area shape="rect" href="(/cartoons/\?id=\d{8}&mode=classic)" coords="[\d, ]+?" alt="">')) starter = bounceStarter('http://ars.userfriendly.org/cartoons/?mode=classic', compile(r'<area shape="rect" href="(/cartoons/\?id=\d{8}&mode=classic)" coords="[\d, ]+?" alt="">'))
imageUrl = 'http://ars.userfriendly.org/cartoons/?id=%s&mode=classic' stripUrl = 'http://ars.userfriendly.org/cartoons/?id=%s&mode=classic'
imageSearch = compile(r'<img border="0" src="(http://www.userfriendly.org/cartoons/archives/\d{2}\w{3}/.+?\.gif)"') imageSearch = compile(r'<img border="0" src="(http://www.userfriendly.org/cartoons/archives/\d{2}\w{3}/.+?\.gif)"')
prevSearch = compile(r'<area shape="rect" href="(/cartoons/\?id=\d{8}&mode=classic)" coords="[\d, ]+?" alt="Previous Cartoon">') prevSearch = compile(r'<area shape="rect" href="(/cartoons/\?id=\d{8}&mode=classic)" coords="[\d, ]+?" alt="Previous Cartoon">')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -46,14 +46,14 @@ class UserFriendly(_BasicScraper):
class UndeadFriend(_BasicScraper): class UndeadFriend(_BasicScraper):
latestUrl = 'http://www.undeadfriend.com/' latestUrl = 'http://www.undeadfriend.com/'
imageUrl = 'http://www.undeadfriend.com/d/%s.html' stripUrl = 'http://www.undeadfriend.com/d/%s.html'
imageSearch = compile(r'src="(http://www\.undeadfriend\.com/comics/.+?)"', IGNORECASE) imageSearch = compile(r'src="(http://www\.undeadfriend\.com/comics/.+?)"', IGNORECASE)
prevSearch = compile(r'<a.+?href="(http://www\.undeadfriend\.com/d/\d+?\.html)"><img border="0" name="previous_day" alt="Previous comic" src="http://www\.undeadfriend\.com/images/previous_day\.jpg', IGNORECASE) prevSearch = compile(r'<a.+?href="(http://www\.undeadfriend\.com/d/\d+?\.html)"><img border="0" name="previous_day" alt="Previous comic" src="http://www\.undeadfriend\.com/images/previous_day\.jpg', IGNORECASE)
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
class UnspeakableVault(_BasicScraper): class UnspeakableVault(_BasicScraper):
imageUrl = 'http://www.macguff.fr/goomi/unspeakable/WEBIMAGES/CARTOON/vault%s.html' stripUrl = 'http://www.macguff.fr/goomi/unspeakable/WEBIMAGES/CARTOON/vault%s.html'
imageSearch = compile(r'(WEBIMAGES/CARTOON/.+?)"') imageSearch = compile(r'(WEBIMAGES/CARTOON/.+?)"')
prevSearch = compile(r'PREVIOUS.+?" href="(.+?)"') prevSearch = compile(r'PREVIOUS.+?" href="(.+?)"')
help = 'Index format: nn or nnn' help = 'Index format: nn or nnn'

View file

@ -9,7 +9,7 @@ from ..util import fetchUrl
class _UClickScraper(_BasicScraper): class _UClickScraper(_BasicScraper):
homepage = 'http://content.uclick.com/a2z.html' homepage = 'http://content.uclick.com/a2z.html'
baseUrl = 'http://www.uclick.com/client/zzz/%s/' baseUrl = 'http://www.uclick.com/client/zzz/%s/'
imageUrl = property(lambda self: self.latestUrl + '%s/') stripUrl = property(lambda self: self.latestUrl + '%s/')
imageSearch = compile(r'<img[^>]+src="(http://synd.imgsrv.uclick.com/comics/\w+/\d{4}/[^"]+\.gif)"', IGNORECASE) imageSearch = compile(r'<img[^>]+src="(http://synd.imgsrv.uclick.com/comics/\w+/\d{4}/[^"]+\.gif)"', IGNORECASE)
prevSearch = compile(r'<a href="(/client/zzz/\w+/\d{4}/\d{2}/\d{2}/)">Previous date', IGNORECASE) prevSearch = compile(r'<a href="(/client/zzz/\w+/\d{4}/\d{2}/\d{2}/)">Previous date', IGNORECASE)
help = 'Index format: yyyy/mm/dd' help = 'Index format: yyyy/mm/dd'

View file

@ -12,7 +12,7 @@ class _VGCats(_BasicScraper):
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@property @property
def imageUrl(self): def stripUrl(self):
return self.latestUrl + '?strip_id=%s' return self.latestUrl + '?strip_id=%s'
@ -31,7 +31,7 @@ class Adventure(_VGCats):
class ViiviJaWagner(_BasicScraper): class ViiviJaWagner(_BasicScraper):
latestUrl = 'http://www.hs.fi/viivijawagner/' latestUrl = 'http://www.hs.fi/viivijawagner/'
imageUrl = 'http://www.hs.fi/viivijawagner/%s' stripUrl = 'http://www.hs.fi/viivijawagner/%s'
imageSearch = compile(r'<img id="strip\d+"\s+src="([^"]+)"', IGNORECASE) imageSearch = compile(r'<img id="strip\d+"\s+src="([^"]+)"', IGNORECASE)
prevSearch = compile(r'<a href="(.+?)"[^>]+?>\nEdellinen&nbsp;\n<img src="http://www.hs.fi/static/hs/img/viivitaakse.gif"', MULTILINE | IGNORECASE) prevSearch = compile(r'<a href="(.+?)"[^>]+?>\nEdellinen&nbsp;\n<img src="http://www.hs.fi/static/hs/img/viivitaakse.gif"', MULTILINE | IGNORECASE)
help = 'Index format: shrugs!' help = 'Index format: shrugs!'

View file

@ -8,7 +8,7 @@ from ..helpers import queryNamer, bounceStarter
class WayfarersMoon(_BasicScraper): class WayfarersMoon(_BasicScraper):
latestUrl = 'http://www.wayfarersmoon.com/' latestUrl = 'http://www.wayfarersmoon.com/'
imageUrl = 'http://www.wayfarersmoon.com/index.php\?page=%s' stripUrl = 'http://www.wayfarersmoon.com/index.php\?page=%s'
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'
@ -16,7 +16,7 @@ class WayfarersMoon(_BasicScraper):
class WhiteNinja(_BasicScraper): class WhiteNinja(_BasicScraper):
latestUrl = 'http://www.whiteninjacomics.com/comics.shtml' latestUrl = 'http://www.whiteninjacomics.com/comics.shtml'
imageUrl = 'http://www.whiteninjacomics.com/comics/%s.shtml' stripUrl = 'http://www.whiteninjacomics.com/comics/%s.shtml'
imageSearch = compile(r'<img src=(/images/comics/(?!t-).+?\.gif) border=0') imageSearch = compile(r'<img src=(/images/comics/(?!t-).+?\.gif) border=0')
prevSearch = compile(r'(/comics/.+?shtml).+?previous') prevSearch = compile(r'(/comics/.+?shtml).+?previous')
help = 'Index format: s (comic name)' help = 'Index format: s (comic name)'
@ -24,7 +24,7 @@ class WhiteNinja(_BasicScraper):
class WhiteNoise(_BasicScraper): class WhiteNoise(_BasicScraper):
latestUrl = 'http://www.wncomic.com/archive.php' latestUrl = 'http://www.wncomic.com/archive.php'
imageUrl = 'http://www.wncomic.com/archive_comments.php?strip_id=%s' stripUrl = 'http://www.wncomic.com/archive_comments.php?strip_id=%s'
imageSearch = compile(r'(istrip_files/strips/.+?)"') imageSearch = compile(r'(istrip_files/strips/.+?)"')
prevSearch = compile(r'First .+?"(archive.+?)".+?top_back') prevSearch = compile(r'First .+?"(archive.+?)".+?top_back')
help = 'Index format: n' help = 'Index format: n'
@ -33,7 +33,7 @@ class WhiteNoise(_BasicScraper):
class WhyTheLongFace(_BasicScraper): class WhyTheLongFace(_BasicScraper):
latestUrl = 'http://www.absurdnotions.org/wtlf200709.html' latestUrl = 'http://www.absurdnotions.org/wtlf200709.html'
imageUrl = 'http://www.absurdnotions.org/wtlf%s.html' stripUrl = 'http://www.absurdnotions.org/wtlf%s.html'
imageSearch = compile(r'<img src="(http://www.absurdnotions.org/wtlf.+?|lf\d+.\w{1,4})"', IGNORECASE) imageSearch = compile(r'<img src="(http://www.absurdnotions.org/wtlf.+?|lf\d+.\w{1,4})"', IGNORECASE)
prevSearch = compile(r'HREF="(.+?)"><IMG SRC="nprev.gif" ') prevSearch = compile(r'HREF="(.+?)"><IMG SRC="nprev.gif" ')
help = 'Index format: yyyymm' help = 'Index format: yyyymm'
@ -42,7 +42,7 @@ class WhyTheLongFace(_BasicScraper):
class Wigu(_BasicScraper): class Wigu(_BasicScraper):
latestUrl = 'http://www.wigu.com/wigu/' latestUrl = 'http://www.wigu.com/wigu/'
imageUrl = 'http://www.wigu.com/wigu/?date=%s' stripUrl = 'http://www.wigu.com/wigu/?date=%s'
imageSearch = compile(r'<img src="(strips/\d{8}\..+?)" alt=""') imageSearch = compile(r'<img src="(strips/\d{8}\..+?)" alt=""')
prevSearch = compile(r'<a href="(.+?)"[^>]+?>< PREV COMIC</a> ') prevSearch = compile(r'<a href="(.+?)"[^>]+?>< PREV COMIC</a> ')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -51,7 +51,7 @@ class Wigu(_BasicScraper):
class WiguTV(_BasicScraper): class WiguTV(_BasicScraper):
latestUrl = 'http://jjrowland.com/' latestUrl = 'http://jjrowland.com/'
imageUrl = 'http://jjrowland.com/archive/%s.html' stripUrl = 'http://jjrowland.com/archive/%s.html'
imageSearch = compile(r'"(/comics/.+?)"') imageSearch = compile(r'"(/comics/.+?)"')
prevSearch = compile(r'<a href="(/archive/.+?)"[^>]+?>&nbsp;') prevSearch = compile(r'<a href="(/archive/.+?)"[^>]+?>&nbsp;')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -60,7 +60,7 @@ class WiguTV(_BasicScraper):
class WotNow(_BasicScraper): class WotNow(_BasicScraper):
latestUrl = 'http://shadowburn.binmode.com/wotnow/' latestUrl = 'http://shadowburn.binmode.com/wotnow/'
imageUrl = 'http://shadowburn.binmode.com/wotnow/comic.php?comic_id=%s' stripUrl = 'http://shadowburn.binmode.com/wotnow/comic.php?comic_id=%s'
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)'
@ -69,7 +69,7 @@ class WotNow(_BasicScraper):
class WorldOfWarcraftEh(_BasicScraper): class WorldOfWarcraftEh(_BasicScraper):
latestUrl = 'http://woweh.com/' latestUrl = 'http://woweh.com/'
imageUrl = 'http://woweh.com/?p=' stripUrl = 'http://woweh.com/?p='
imageSearch = compile(r'http://woweh.com/(comics/.+?)"') imageSearch = compile(r'http://woweh.com/(comics/.+?)"')
prevSearch = compile(r'woweh.com/(\?p=.+:?)".+:?="prev') prevSearch = compile(r'woweh.com/(\?p=.+:?)".+:?="prev')
help = 'Index format: non' help = 'Index format: non'
@ -77,7 +77,7 @@ class WorldOfWarcraftEh(_BasicScraper):
class Wulffmorgenthaler(_BasicScraper): class Wulffmorgenthaler(_BasicScraper):
latestUrl = 'http://www.wulffmorgenthaler.com/' latestUrl = 'http://www.wulffmorgenthaler.com/'
imageUrl = 'http://www.wulffmorgenthaler.com/Default.aspx?id=%s' stripUrl = 'http://www.wulffmorgenthaler.com/Default.aspx?id=%s'
imageSearch = compile(r'img id="ctl00_content_Strip1_imgStrip".+?class="strip" src="(striphandler\.ashx\?stripid=[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})"') imageSearch = compile(r'img id="ctl00_content_Strip1_imgStrip".+?class="strip" src="(striphandler\.ashx\?stripid=[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})"')
prevSearch = compile(r'<a href="(/default\.aspx\?id=[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})" id="ctl00_content_Strip1_aPrev">') prevSearch = compile(r'<a href="(/default\.aspx\?id=[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})" id="ctl00_content_Strip1_aPrev">')
help = 'Index format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (GUID)' help = 'Index format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (GUID)'
@ -91,7 +91,7 @@ def webcomicsNation():
help = 'Index format: nnnn (non-contiguous)' help = 'Index format: nnnn (non-contiguous)'
@property @property
def imageUrl(self): def stripUrl(self):
return self.baseUrl + '?view=archive&amp;chapter=%s' return self.baseUrl + '?view=archive&amp;chapter=%s'
comics = { comics = {
@ -120,7 +120,7 @@ globals().update(webcomicsNation())
class WhiteNoise(_BasicScraper): class WhiteNoise(_BasicScraper):
latestUrl = 'http://www.wncomic.com/archive.php' latestUrl = 'http://www.wncomic.com/archive.php'
imageUrl = 'http://www.wncomic.com/archive_comments.php?strip_id=%s' stripUrl = 'http://www.wncomic.com/archive_comments.php?strip_id=%s'
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'
@ -129,7 +129,7 @@ class WhiteNoise(_BasicScraper):
class WapsiSquare(_BasicScraper): class WapsiSquare(_BasicScraper):
latestUrl = 'http://wapsisquare.com/' latestUrl = 'http://wapsisquare.com/'
imageUrl = 'http://wapsisquare.com/comic/%s' stripUrl = 'http://wapsisquare.com/comic/%s'
imageSearch = compile(r'<img src="(http://wapsisquare.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://wapsisquare.com/comics/.+?)"')
prevSearch = compile(r'<a href="(.+?)"[^>]+?>Previous</a>') prevSearch = compile(r'<a href="(.+?)"[^>]+?>Previous</a>')
help = 'Index format: strip-name' help = 'Index format: strip-name'
@ -138,7 +138,7 @@ class WapsiSquare(_BasicScraper):
class WrongWay(_BasicScraper): class WrongWay(_BasicScraper):
latestUrl = 'http://www.wrongwaycomics.com/' latestUrl = 'http://www.wrongwaycomics.com/'
imageUrl = 'http://www.wrongwaycomics.com/%s.html' stripUrl = 'http://www.wrongwaycomics.com/%s.html'
imageSearch = compile(r'<img src="(comics/.+?)"') imageSearch = compile(r'<img src="(comics/.+?)"')
prevSearch = compile(r' <a class="comicNav" href="(.+?)" onmouseover="previousLinkIn\(\)"') prevSearch = compile(r' <a class="comicNav" href="(.+?)" onmouseover="previousLinkIn\(\)"')
help = 'Index format: nnn' help = 'Index format: nnn'
@ -147,7 +147,7 @@ class WrongWay(_BasicScraper):
class WeCanSleepTomorrow(_BasicScraper): class WeCanSleepTomorrow(_BasicScraper):
latestUrl = 'http://wecansleeptomorrow.com/' latestUrl = 'http://wecansleeptomorrow.com/'
imageUrl = 'http://wecansleeptomorrow.com/2009/12/07/smothered/' stripUrl = 'http://wecansleeptomorrow.com/2009/12/07/smothered/'
imageSearch = compile(r'<img src="(http://wecansleeptomorrow.com/comics/.+?)"') imageSearch = compile(r'<img src="(http://wecansleeptomorrow.com/comics/.+?)"')
prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">') prevSearch = compile(r'<div class="nav-previous"><a href="(.+?)">')
help = 'Index format: yyyy/mm/dd/stripname' help = 'Index format: yyyy/mm/dd/stripname'
@ -159,21 +159,17 @@ class _WLP(_BasicScraper):
prevSearch=compile(r'</a> <A HREF="(\w+.html)">Previous Page</a>', IGNORECASE) prevSearch=compile(r'</a> <A HREF="(\w+.html)">Previous Page</a>', IGNORECASE)
help='Index format: nnn' help='Index format: nnn'
@property @property
def baseUrl(self): def baseUrl(self):
return 'http://www.wlpcomics.com/%s' % (self.path,) return 'http://www.wlpcomics.com/%s' % (self.path,)
@property @property
def imageUrl(self): def stripUrl(self):
return self.baseUrl + '%s.html' return self.baseUrl + '%s.html'
def namer(self, imageUrl, pageUrl): def namer(self, imageUrl, pageUrl):
return pageUrl.split('/')[-1].split('.')[0] return pageUrl.split('/')[-1].split('.')[0]
def starter(self): def starter(self):
# XXX: ergh # XXX: ergh
meth = bounceStarter(self.baseUrl, compile(r'</a> <A HREF="(\w+.html)">Next Page</a>', IGNORECASE)) meth = bounceStarter(self.baseUrl, compile(r'</a> <A HREF="(\w+.html)">Next Page</a>', IGNORECASE))
@ -213,7 +209,7 @@ class Stellar(_WLP):
class Wondermark(_BasicScraper): class Wondermark(_BasicScraper):
latestUrl = 'http://wondermark.com' latestUrl = 'http://wondermark.com'
imageUrl = 'http://wondermark.com/%s/' stripUrl = 'http://wondermark.com/%s/'
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'

View file

@ -8,7 +8,7 @@ from ..helpers import bounceStarter
class xkcd(_BasicScraper): class xkcd(_BasicScraper):
starter = bounceStarter('http://xkcd.com/', compile(r'<a rel="next" href="(/?\d+/?)"[^>]*>Next')) starter = bounceStarter('http://xkcd.com/', compile(r'<a rel="next" href="(/?\d+/?)"[^>]*>Next'))
imageUrl = 'http://xkcd.com/c%s.html' stripUrl = 'http://xkcd.com/c%s.html'
imageSearch = compile(r'<img[^<]+src="(http://imgs.xkcd.com/comics/[^<>"]+)"') imageSearch = compile(r'<img[^<]+src="(http://imgs.xkcd.com/comics/[^<>"]+)"')
prevSearch = compile(r'<a rel="prev" href="(/?\d+/?)"[^>]*>&lt; Prev') prevSearch = compile(r'<a rel="prev" href="(/?\d+/?)"[^>]*>&lt; Prev')
help = 'Index format: n (unpadded)' help = 'Index format: n (unpadded)'
@ -23,7 +23,7 @@ class xkcd(_BasicScraper):
class xkcdSpanish(_BasicScraper): class xkcdSpanish(_BasicScraper):
latestUrl = 'http://es.xkcd.com/xkcd-es/' latestUrl = 'http://es.xkcd.com/xkcd-es/'
imageUrl = 'http://es.xkcd.com/xkcd-es/strips/%s/' stripUrl = 'http://es.xkcd.com/xkcd-es/strips/%s/'
imageSearch = compile(r'src="(/site_media/strips/.+?)"') imageSearch = compile(r'src="(/site_media/strips/.+?)"')
prevSearch = compile(r'<a rel="prev" href="(http://es.xkcd.com/xkcd-es/strips/.+?)">Anterior</a>') prevSearch = compile(r'<a rel="prev" href="(http://es.xkcd.com/xkcd-es/strips/.+?)">Anterior</a>')
help = 'Index format: stripname' help = 'Index format: stripname'

View file

@ -7,7 +7,7 @@ from ..scraper import _BasicScraper
class YAFGC(_BasicScraper): class YAFGC(_BasicScraper):
latestUrl = 'http://yafgc.shipsinker.com/' latestUrl = 'http://yafgc.shipsinker.com/'
imageUrl = 'http://yafgc.shipsinker.com/index.php?strip_id=%s' stripUrl = 'http://yafgc.shipsinker.com/index.php?strip_id=%s'
imageSearch = compile(r'(istrip_.+?)"') imageSearch = compile(r'(istrip_.+?)"')
prevSearch = compile(r'(/.+?)">\r\n.+?prev.gif', MULTILINE) prevSearch = compile(r'(/.+?)">\r\n.+?prev.gif', MULTILINE)
help = 'Index format: n' help = 'Index format: n'
@ -15,7 +15,7 @@ class YAFGC(_BasicScraper):
class YouSayItFirst(_BasicScraper): class YouSayItFirst(_BasicScraper):
latestUrl = 'http://www.yousayitfirst.com/' latestUrl = 'http://www.yousayitfirst.com/'
imageUrl = 'http://www.soapylemon.com/comics/index.php?date=%s' stripUrl = 'http://www.soapylemon.com/comics/index.php?date=%s'
imageSearch = compile(r'(http://.+?comics/.+?.jpg)[^<]') imageSearch = compile(r'(http://.+?comics/.+?.jpg)[^<]')
prevSearch = compile(r'(/comics/index.php\?date=.+?)".+?P') prevSearch = compile(r'(/comics/index.php\?date=.+?)".+?P')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'
@ -23,7 +23,7 @@ class YouSayItFirst(_BasicScraper):
class Yirmumah(_BasicScraper): class Yirmumah(_BasicScraper):
latestUrl = 'http://yirmumah.net/archives.php' latestUrl = 'http://yirmumah.net/archives.php'
imageUrl = 'http://yirmumah.net/archives.php?date=%s' stripUrl = 'http://yirmumah.net/archives.php?date=%s'
imageSearch = compile(r'<img src="(strips/\d{8}\..*?)"') imageSearch = compile(r'<img src="(strips/\d{8}\..*?)"')
prevSearch = compile(r'<a href="(\?date=\d{8})">.*Previous') prevSearch = compile(r'<a href="(\?date=\d{8})">.*Previous')
help = 'Index format: yyyymmdd' help = 'Index format: yyyymmdd'

View file

@ -14,7 +14,7 @@ class Zapiro(_BasicScraper):
class ZombieHunters(_BasicScraper): class ZombieHunters(_BasicScraper):
latestUrl = 'http://www.thezombiehunters.com/' latestUrl = 'http://www.thezombiehunters.com/'
imageUrl = 'http://www.thezombiehunters.com/index.php?strip_id=%s' stripUrl = 'http://www.thezombiehunters.com/index.php?strip_id=%s'
imageSearch = compile(r'"(.+?strips/.+?)"') imageSearch = compile(r'"(.+?strips/.+?)"')
prevSearch = compile(r'</a><a href="(.+?)"><img id="prevcomic" ') prevSearch = compile(r'</a><a href="(.+?)"><img id="prevcomic" ')
help = 'Index format: n(unpadded)' help = 'Index format: n(unpadded)'

View file

@ -26,8 +26,8 @@ class _BasicScraper(object):
@type latestUrl: C{string} @type latestUrl: C{string}
@cvar latestUrl: The URL for the latest comic strip. @cvar latestUrl: The URL for the latest comic strip.
@type imageUrl: C{string} @type stripUrl: C{string}
@cvar imageUrl: A string that is interpolated with the strip index @cvar stripUrl: A string that is interpolated with the strip index
to yield the URL for a particular strip. to yield the URL for a particular strip.
@type imageSearch: C{regex} @type imageSearch: C{regex}
@cvar imageSearch: A compiled regex that will locate the strip image URL @cvar imageSearch: A compiled regex that will locate the strip image URL
@ -51,7 +51,7 @@ class _BasicScraper(object):
out.write(msg+"...") out.write(msg+"...")
if self.indexes: if self.indexes:
for index in self.indexes: for index in self.indexes:
url = self.imageUrl % index url = self.stripUrl % index
yield self.getStrip(url) yield self.getStrip(url)
else: else:
yield self.getStrip(self.getLatestUrl()) yield self.getStrip(self.getLatestUrl())
@ -73,7 +73,7 @@ class _BasicScraper(object):
out.write(msg+"...") out.write(msg+"...")
if self.indexes: if self.indexes:
for index in self.indexes: for index in self.indexes:
url = self.imageUrl % index url = self.stripUrl % index
for strip in self.getAllStripsFor(url): for strip in self.getAllStripsFor(url):
yield strip yield strip
else: else:
@ -93,7 +93,7 @@ class _BasicScraper(object):
def setStrip(self, index): def setStrip(self, index):
"""Set current comic strip URL.""" """Set current comic strip URL."""
self.currentUrl = self.imageUrl % index self.currentUrl = self.stripUrl % index
def getHelp(self): def getHelp(self):
"""Return help text for this scraper.""" """Return help text for this scraper."""