Fixed some comics.

This commit is contained in:
Bastian Kleineidam 2013-04-11 18:27:43 +02:00
parent 6ca4eaa492
commit 35c031ca81
25 changed files with 105 additions and 69 deletions

View file

@ -121,11 +121,11 @@ class BizarreUprising(_BasicScraper):
class BlankIt(_BasicScraper):
url = 'http://blankitcomics.com/'
stripUrl = url + 'blankit-%s'
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '0001'
imageSearch = compile(tagre("img", "src", r'(http://blankitcomics\.com/bicomics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after='rel="prev"'))
help = 'Index format: number'
help = 'Index format: stripname'
class Blip(_BasicScraper):

View file

@ -84,9 +84,9 @@ class CatsAndCameras(_BasicScraper):
url = 'http://catsncameras.com/cnc/'
rurl = escape(url)
stripUrl = url + '?p=%s'
imageSearch = compile(tagre("img", "src", r'(%scnc/comics/[^"]+)' % rurl))
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("div", "class", r'nav-previous') +
tagre("a", "href", r'(%scnc/[^"]+)' % rurl))
tagre("a", "href", r'(%s[^"]+)' % rurl))
help = 'Index format: nnn'
@ -116,8 +116,8 @@ class ChannelAte(_BasicScraper):
url = 'http://www.channelate.com/'
rurl = escape(url)
stripUrl = url + '%s/'
imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+[^"]+)'))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)', after="prev"))
imageSearch = compile(tagre("img", "src", r'(%scomics/\d+-\d+-\d+[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl, after="prev"))
help = 'Index format: yyyy/mm/dd/name'

View file

@ -251,7 +251,7 @@ class DresdenCodak(_BasicScraper):
firstStripUrl = url + '2007/02/08/pom/'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl) +
tagre("img", "src", r"%sm_prev2?\.png" % rurl))
tagre("img", "src", r"%sm_prev2?\.png" % rurl, quote=""))
starter = indirectStarter(url, compile(tagre("div", "id", "preview") +
tagre("a", "href", r'(%s\d+/\d+/\d+/[^"]+)' % rurl)))
@ -278,10 +278,15 @@ class DrMcNinja(_BasicScraper):
class Drowtales(_BasicScraper):
url = 'http://www.drowtales.com/mainarchive.php'
baseurl = 'http://www.drowtales.com/'
rurl = escape(baseurl)
url = baseurl + 'mainarchive.php'
stripUrl = url + '?sid=%s'
firstStripUrl = stripUrl % '4192'
imageSearch = compile(tagre("img", "src", r'(http://www\.drowtales\.com/mainarchive/[^"]+)'))
imageSearch = (
compile(tagre("img", "src", r'(%smainarchive/[^"]+)' % rurl)),
compile(r'background-image:url\((mainarchive/[^\)]+center\.jpg)'),
)
prevSearch = compile(tagre("a", "href", r'(\?sid=\d+)', before="link_prev_top"))
help = 'Index format: number'

View file

@ -662,7 +662,6 @@ add('Love_And_Chaos', 'Love_And_Chaos')
add('Love_Story', 'Love_Story')
add('Lovecraft_Yaoi', 'Lovecraft_Yaoi')
add('Lucidfairy', 'Lucidfairy')
add('Lugnor_Riders', 'Lugnor_Riders')
add('MAG_ISA', 'MAG_ISA')
add('MAYA_la_leyenda_del_lobo', 'MAYA_la_leyenda_del_lobo')
add('MISFIT_ASSASSINS', 'MISFIT_ASSASSINS')

View file

@ -42,12 +42,18 @@ class EerieCuties(_BasicScraper):
class Eriadan(_BasicScraper):
url = 'http://www.shockdom.com/webcomics/eriadan/'
stripUrl = url + '%s'
rurl = escape(url)
stripUrl = url + '%s/'
multipleImagesPerStrip = True
imageSearch = compile(tagre("img", "src", r'(http://www\.shockdom\.com/webcomics/eriadan/files/[^"]+)', after='width="[68]00"'))
imageSearch = compile(tagre("img", "src", r'(%sfiles/[^"]+)' % rurl, after='width="[68]00"'))
prevSearch = compile(tagre("a", "href", r'([^"]+)', after="prev"))
help = 'Index format: yyyy/mm/dd/nnn (unpadded)'
def shouldSkipUrl(self, url):
return url in (
self.stripUrl % "2013/04/02/istruzioni-per-il-non-uso", # video
)
class ElfOnlyInn(_BasicScraper):
url = 'http://www.elfonlyinn.net/'
@ -172,7 +178,7 @@ class ExtraLife(_BasicScraper):
class ExtraOrdinary(_BasicScraper):
url = 'http://exocomics.com/'
url = 'http://www.exocomics.com/'
rurl = escape(url)
stripUrl = url + '%s'
firstStripUrl = stripUrl % '01'

View file

@ -169,7 +169,7 @@ class FredoAndPidjin(_BasicScraper):
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '2006/02/19/goofy-monday'
help = 'Index format: yyyy/mm/dd/name'
imageSearch = compile(tagre('img', 'src', '(http://cdn\.pidjin\.net/wp-content/uploads/\d+/\d+/[^"]+\.png)'))
imageSearch = compile(tagre('img', 'src', '(http://cdn\.pidjin\.net/wp-content/uploads/\d+/\d+/[^"]+\.[a-z]+)'))
multipleImagesPerStrip = True
prevSearch = compile(tagre('a', 'href', '([^"]+)')+"Prev</a>")
starter = indirectStarter(url,

View file

@ -68,7 +68,7 @@ class GirlsWithSlingshots(_BasicScraper):
compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl)),
compile(tagre("img", "src", r'(http://cdn\.girlswithslingshots\.com/comics/[^"]+)')),
)
prevSearch = compile(tagre("a", "href", r'(%s/comic/[^"]+)' % rurl, after="prev"))
prevSearch = compile(tagre("a", "href", r'(%scomic/[^"]+)' % rurl, after="prev"))
help = 'Index format: nnn'

View file

@ -312,7 +312,6 @@ add('Lola', '/lola')
add('LooseParts', '/looseparts')
add('LostSheep', '/lostsheep')
add('LostSideofSuburbia', '/lostsideofsuburbia')
add('LoveIs', '/loveis')
add('Luann', '/luann')
add('LuannAgainn', '/luann-againn')
add('Lucan', '/lucan')

View file

@ -48,6 +48,6 @@ class JustAnotherEscape(_BasicScraper):
rurl = escape(url)
stripUrl = url + 'index.cgi?date=%s'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sindex\.cgi\?date=\d+)' % rurl)
prevSearch = compile(tagre("a", "href", r'(%s/index\.cgi\?date=\d+)' % rurl)
+ tagre("img", "alt", "Previous Comic"))
help = 'Index format: yyyymmdd'

View file

@ -5,6 +5,8 @@
from re import compile, escape, IGNORECASE
from ..scraper import _BasicScraper
from ..util import tagre
from ..helpers import indirectStarter
class KatzenfutterGeleespritzer(_BasicScraper):
url = 'http://www.katzenfuttergeleespritzer.de/'
@ -94,5 +96,6 @@ class KuroShouri(_BasicScraper):
rurl = escape(url)
stripUrl = url + '?webcomic_post=%s'
imageSearch = compile(tagre("img", "src", r"(%swp-content/webcomic/kuroshouri/[^'\"]+)" % rurl, quote="['\"]"))
prevSearch = compile(tagre("a", "href", r'(%s\?webcomic_post=[^"]+)' % rurl, after="previous"))
prevSearch = compile(tagre("a", "href", r'(%s\?webcomic_post\=[^"]+)' % rurl, after="previous"))
help = 'Index format: chapter-n-page-m'
starter = indirectStarter(url, prevSearch)

View file

@ -11,7 +11,8 @@ _imageSearch = compile(tagre("img", "src", r'([^"]*/comics/[^"]+)'))
_stripPattern = r'([^"]*/d/\d{8}\.html)'
_prevSearch = (
compile(tagre("link", "href", _stripPattern, before="prev")),
compile(tagre("a", "href", _stripPattern, after="prev"))
compile(tagre("a", "href", _stripPattern, after="prev")),
compile(tagre("a", "href", _stripPattern) + tagre("img", "id", r"previous_day1")),
)
def add(name, url, description):

View file

@ -23,7 +23,7 @@ class LeastICouldDo(_BasicScraper):
rurl = escape(url)
stripUrl = url + 'comic/%s'
firstStripUrl = stripUrl % '20130109'
imageSearch = compile(tagre("img", "src", r'(http://cdn\.leasticoulddo\.com/wp-content/uploads/\d+/\d+/\d{8}\.\w{1,4})'))
imageSearch = compile(tagre("img", "src", r'(http://cdn\.leasticoulddo\.com/wp-content/uploads/\d+/\d+/\d{8,9}\.\w{1,4})'))
prevSearch = compile(tagre("a", "href", r'(%scomic/\d+/)' % rurl, after="Previous"))
starter = indirectStarter(url,
compile(tagre("a", "href", r'(%scomic/\d+/)' % rurl, after="feature-comic")))

View file

@ -43,7 +43,7 @@ class Oglaf(_BasicScraper):
def starter(cls):
# click the "I am 18" button
data = {"over18": "&nbsp;"}
urlopen(cls.url, cls.session, data=data, stream=False, referrer=cls.url)
urlopen(cls.url, cls.session, data=data, referrer=cls.url)
return cls.url
@ -84,7 +84,7 @@ class OneQuestion(_BasicScraper):
url = 'http://onequestioncomic.com/'
stripUrl = url + 'comic.php?strip_id=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'((?:\.\./)?istrip_files/strips/\d+\.jpg)'))
imageSearch = compile(tagre("img", "src", r'((?:\.\./)?istrip_files/strips/\d+\.\w{3,4})'))
prevSearch = compile(tagre("a", "href", r'(comic\.php\?strip_id=\d+)') + tagre("img", "src", r'img/arrow_prev\.jpg'))
help = 'Index format: n (unpadded)'

View file

@ -68,11 +68,11 @@ class PebbleVersion(_BasicScraper):
class PennyAndAggie(_BasicScraper):
url = 'http://www.pennyandaggie.com/'
url = 'http://pennyandaggie.com/'
rurl = escape(url)
stripUrl = url + 'index.php?p=%s'
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r"(index\.php\?p=\d+)", quote="'") +
imageSearch = compile(tagre("img", "src", r'(http://www\.pennyandaggie\.com/comics/[^"]+)'))
prevSearch = compile(tagre("a", "href", r"(index\.php\?p\=\d+)", quote="'") +
tagre("img", "src", r'%simages/previous_day\.gif' % rurl, quote=""))
starter = indirectStarter(url, prevSearch)
help = 'Index format: n (unpadded)'

View file

@ -22,6 +22,6 @@ class Qwantz(_BasicScraper):
rurl = escape(baseurl)
stripUrl = url + '?comic=%s'
firstStripUrl = stripUrl % '1'
imageSearch = compile(tagre("img", "src", r'(%s/comics/[^"]+)' % rurl))
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%sindex\.php\?comic=\d+)' % rurl, before="prev"))
help = 'Index format: n'

View file

@ -453,7 +453,10 @@ class SuburbanTribe(_BasicScraper):
class SomethingPositive(_BasicScraper):
url = 'http://www.somethingpositive.net/'
stripUrl = url + 'sp%s.shtml'
imageSearch = compile(tagre("img", "src", r'(sp\d+\.png)'))
imageSearch = (
compile(tagre("img", "src", r'(sp\d+\.png)')),
compile(tagre("img", "src", r'(twither\.gif)')),
)
prevSearch = compile(tagre("a", "href", r'(sp\d+\.shtml)') +
"(?:" + tagre("img", "src", r'images/previous\.gif') + "|Previous)")
help = 'Index format: mmddyyyy'

View file

@ -5,6 +5,9 @@ from re import compile
from ..scraper import make_scraper
from ..util import tagre, quote, fetchUrl, case_insensitive_re, getPageContent
# SmackJeeves is a crawlers nightmare - users are allowed to edit HTML directly.
# That's why there are so much different search patterns.
_imageSearch = compile(tagre("img", "src", r'([^"]+)', after='id="comic_image"'))
_linkSearch = tagre("a", "href", r'([^>"]*/comics/\d+/[^>"]*)', quote='"?')
_attrs = dict(
@ -12,10 +15,21 @@ _attrs = dict(
prev = case_insensitive_re("prev"),
next = case_insensitive_re("next"),
)
_prevSearch = compile(_linkSearch +
r'(?:<img[^>]+alt="[^"]*%(prev)s|<img[^>]+(?:button_previous|naviButtons_Previous|nav_prev4|prev|previous|webbuttonback|PrevArrow)\.|[^<]*%(back)s|\s*<<? (?:%(back)s|%(prev)s)|[^<]*%(prev)s)' % _attrs)
_nextSearch = compile(_linkSearch +
r'(?:<img[^>]+alt="%(next)s|<img[^>]+(?:button_next|naviButtons_Next|nav_next4|next|webbuttonnext-1|NextArrow)\.|\s*<?[^<]*%(next)s)' % _attrs)
_prevSearch = (
compile(_linkSearch +
r'(?:<img[^>]+alt="[^"]*%(prev)s|<img[^>]+(?:button_previous|naviButtons_Previous|nav_prev4|prev|previous|webbuttonback|PrevArrow)\.|[^<]*%(back)s|\s*<<? (?:%(back)s|%(prev)s)|[^<]*%(prev)s)' % _attrs),
compile(_linkSearch + r'[^<]*Atras<'),
compile(_linkSearch + tagre("img", "src", r'[^"]+/(?:backrg|JZj4a3C|b5175a677Zd6b)\.png')),
compile(_linkSearch + tagre("img", "src", r"[^']+/(?:backnav)\.png", quote="'")),
compile(_linkSearch + r"\s*" + tagre("img", "src", r'[^"]+/prev\.jpg')),
)
_nextSearch = (
compile(_linkSearch +
r'(?:<img[^>]+alt="%(next)s|<img[^>]+(?:button_next|naviButtons_Next|nav_next4|next|webbuttonnext-1|NextArrow)\.|\s*<?[^<]*%(next)s)' % _attrs),
compile(_linkSearch + r'Siguiente'),
compile(_linkSearch + tagre("img", "src", r'[^"]+/(?:arrow3_zps03f490e3|60ecbaed7gbJs)\.png[^"]*')),
compile(_linkSearch + tagre("img", "src", r"[^']+/(?:forthnav)\.png[^']*", quote="'")),
)
def add(name, url, description, adult, bounce):
classname = 'SmackJeeves_' + name
@ -151,7 +165,6 @@ add('Boo', 'http://boocomic.smackjeeves.com/comics/', u"* On Hiatus. Will be bac
add('BoogeyDancingMonkeyPot', 'http://monkeypot.smackjeeves.com/comics/', u"Prince Jean-Patrick finds young Sarah's bedroom to frighten her. But Sarah isn't an eight year old girl running around in her socks. She's a young adult now and it certainly shows! Together, the Boogey man and human girl journey through their lives. One to become king of his kind and the other to find her place. Two roads cross and destiny determined to keep them together. Monsters do not solely exist in the darkness. rated mature for violence, language, partial nudity and some sexual tension", False, True)
add('Border', 'http://border.smackjeeves.com/comics/', u'Its a perfect description of the "Manapunk" genre, its a fantasy world where Mana and magic moves everything, and the Gods walk among Man as the return of Ragnarok draws near.', False, False)
add('Boywithasecret', 'http://www.bwascomic.com/comics/', u'Comic Title: BOY WITH A SECRET (Himitsu no Aru Otoko) Boy with a secret: is a story about a troubled teenage boy who hides his identity from everyone out of fear of being exposed. His family moved after a traumatic incident at their hometown. Haruhi tries to adjust to life at Fujimoto High School (his new school) were he meets the beautiful and compassionate Minako, who comes to trust and befriends him, However bullies threaten that chance at a new start. But things start to change when a friend from the past appears and offers to help. ********************************************************* Updates: Every Wednesday GMT -6(US Central Time) Genres: LGBT, Psychological, Romance, Drama, School Life. *warning* some adult situations Rated: 16+ Contain :Violence, Blood,Profanity All pages in FULL COLOR ********************************************************* *READ FROM LEFT TO RIGHT * Comments are always appreciated. :) THANKS!', False, False)
add('BreIshurnasspritesandstuff', 'http://breishurnas.smackjeeves.com/comics/', u'Here, I make fan characters, random Pokemon recolors, custom sprites, and all that other craptastic things a spriter can do! Come on in if you are not scared! Hopefully I do not lose it all! Currently in Version 2!', False, True)
add('BreachofAgency', 'http://breachofagency.smackjeeves.com/comics/', u'Panacea has the gift of healing, which makes her a target for both sides of a civil war. The Minister, leader of the Agency, is determined to have her cure his fatal illness and prolong his life. Forever. But the Gunman and his accomplices want her dead. All Panacea wants is to find her own destiny. When she and her bodyguard, Aegis, stumble upon Traver, who takes them in after they narrowly escape a brush with death, Panacea believes she may have found a real home. But the Agency has eyes everywhere, the Gunman is always waiting in the shadows, and Panacea can never be sure who her allies are.', False, True)
add('BreakfastonaCliff', 'http://boac.smackjeeves.com/comics/', u'A boy named Cinna goes to a new school. See what happens! Updates: Fridays Or any other time ending with "day."', False, True)
add('BrightStars', 'http://www.brightstarscomic.com/comics/', u'A miscalculation sends Rory into the far reaches of outerspace. WARNING: May contain violence, language, and human-alien relationships.', False, False)
@ -165,7 +178,6 @@ add('CafeSuada', 'http://cafesuada.smackjeeves.com/comics/', u"Down by the river
add('CaptiveSoul', 'http://captive-soul.smackjeeves.com/comics/', u'A BL Pirate manga! :P Sai works on the ship "The Liberty", he was taken in at a young age after his town was burned down and he lost his family. The event was traumatizing and Sai lost his ability to speak. He has sworn to hunt down the pirates that destroyed his home and bring them to justice(however that seems a long ways away) However, recently the captain of the ship, Kuragi, has taken an interest in Sai! Will Kuragi\'s advances distract Sai from his goal to avenge his family? A stormy relationship ahead! Will update every tuesday :P', False, True)
add('Carciphona', 'http://carciphona.smackjeeves.com/comics/', u'In an era where magic is forbidden, a sorceress struggles to restore her once peaceful life.', False, True)
add('CarrotandRoper', 'http://carrotandroper.smackjeeves.com/comics/', u'This comic follows the strange and unusual encounters of Carrot (an appropriately named carrot) and Roper (a potato) along with a slew of other odd characters. Updates sporadically.', False, True)
add('CatboyattheCon', 'http://catboyatthecon.smackjeeves.com/comics/', u'Trades is a catboy that goes from convention to convention with his boss, Carl, and his girlfriend, Jedda. Life would be simple... if not for the fangirls, stalkers, psycho ex-girlfriends, fanboys, and of course his family constantly reminding him of his flaws... Oh well what is a catboy to do?', False, True)
add('Catnip', 'http://catnipmanga.smackjeeves.com/comics/', u'Ikita is a young and impressionable noble, who has been bound to a young lady by arranged marraige. Felix is his hired bodyguard; a quick witted and reliable one at that - but who has more to his past than he would like to reveal. As Felix follows Ikita as his bodyguard, they start to have mixed feelings about their positions, and where the future may lead... Based in an 19th centrury-esque alternate history, this tale consists of friendship, compassion, love and regret.', True, True)
add('Cement', 'http://blocksofsherst.smackjeeves.com/comics/', u"We are a legion of awesomeness, bro! >:{C -------------------------------- Welcome to Cement! A boredom webcomic to discuss/review ideas, movies, fanfiction, and other stuff/shit. We also have: - A sprite showcase, - Some tutorials, - Dreams that make sense, - Debates that make no sense, - Lotsa shitty shit bullshit, - Crack, - Heli-kun~ :3 - Anus - Hentai - Steak - Swagga - What Pumpkin - Overall Trash And much more... Feel free to apply as author if you'd like! (no wait, don't) Gooby plz. I'm touching the description! Hurrdurr! :B Thank you for still reading. Now.. have a nice day and go HoNk yourself. I touched it again - silentdusk c: Heil Helitler. Calm down Stalin' *shoots helitler in da face* :D Now go back to the top and re-read the description. HoNk hOnK Go dunk your head in a bucket, Gamzee - you sexy piece of shit, you. No one cares this desc motherfucking exists anyway. :o( gun in your face big disgrace, kicking your ass all over my place.~ Royle McCulloch Play with the description they said. It fun they said. And it was Posers. I was messing with the description before it became cool! >:I", False, True)
add('CerberusCrescendo', 'http://elica.smackjeeves.com/comics/', u'there are a lot of supervillains who need to be a lot of dead', True, True)
@ -191,7 +203,6 @@ add('CloeRemembrance', 'http://cloe.smackjeeves.com/comics/', u"This story is se
add('Comatose', 'http://comatosecomic.smackjeeves.com/comics/', u"In this drama fantasy webcomic, paranoid teenager Jack Phoenix gets entangled with forces far beyond human imagination. Comatose deals with several themes such as coming-of-age issues, love, lost, hopes and dreams, drugs and violence and realization of one's purpose in life. ***Updates once a week.", False, True)
add('ComicFullofSprites', 'http://cfos.smackjeeves.com/comics/', u"Sonicstar4453: i kinda gave up spriting... but im drawing like theres no tomorrow :U xXDarkXCarnivalXx/TwilightMasterX: Like the terminator, im back baby Sonicballzx:If you need a friend, I'll be there. Need some help, just call me up, I'll help you in no time. TheProjectCore: IMMA TAKE OVA URE SOUL BRO!!! Smash: Am I supposed to write something here? Senalcoolage: Wait this is not a comic and not a showcase CamTro: Would someone order a Sprite food for me? Guilmon157:So...where i get my freaking cookies? _Accel_The_Hedgehog_:I'M GONNA GET YOU, YOU GERMAN BASTARD! Draven22: Give me a fox and an backstory and i'll give you a sprite Pocket_Ninja: WHO ARE YOU PEOPLE?! Jameswolf100: Spriting is for squares because it is squares. Darkus the Hedgehog: Er, I may not seem good now, but wait till I fully learn edits and customs... Ceviana: Don't be afraid to ask for help >:3\\ Pyrus: (no comment) MR sonicrouge: Decent spriter wants to see peoples happy. I'm always busy but feel free to request rules : 1. No trolling, flaming, or stealing of any kind. 2. Only give positive advice. 3. Don't die on us. lol we died alrdy but were coming back baby!! >:D", False, False)
add('ConplicatedGeodeCornerFinal', 'http://conplicated.smackjeeves.com/comics/', u'When sarcastic but charitable Amber Pennicastle follows a handsome panhandler to his secret hideaway, her life turns upside-down in this action/romantic comedy.', False, True)
add('ContraandtheSpamDump', 'http://kirby-and-friends.smackjeeves.com/comics/', u"Well, this comic is basically my art spam dump, that doesn't really have a place. And also all the old Kirby and Friends comics if you're interested in those.", False, True)
add('Contradiction', 'http://contradiction.smackjeeves.com/comics/', u"THIS MANGA IS READ FROM RIGHT TO LEFT (Updates every FRIDAY) Ruya Saki received an invitation to attend Teiou Gakuen in Setsuyamachi, a town for magic users. Not knowing the reason why she was invited, Ruya headed towards the mysterious town. A choice between Light and Darkness... an enthusiastic president and his rival... 'Contradiction', the story of Light and Darkness magical users, the story of friends, betrayal, hatred, past, loyalty, revenge, endurance and love.", False, True)
add('ConventionalWisdom', 'http://conventionalwisdom.smackjeeves.com/comics/', u'Ever wondered what goes on inside an anime convention, but are too afraid go anywhere near one yourself? Well, wonder no more! Conventional Wisdom is a comic that shows you what this strange, geeky world is really like, based ENTIRELY ON REAL LIFE! ...well, sort of. (Currently moving over from DrunkDuck, so please be patient)', False, True)
add('Cramberries', 'http://cramberries.smackjeeves.com/comics/', u'Lucinda is just a normal girl who lives with her roommate in an apartment... until her childhood friend came back to visit here. Now, she has been cursed with a demonic eye and almost everyone seems to be after her. Could it be her eye that everyone is after or is it there something more to it? Follow Lucinda and her friends as they uncover dark secrets and traverse their way along a perilous journey filled with all manners of action, humour, evil and good, love and stupidity. Updates are now Mondays and (occasionally) Thursdays! KitKatMuffin: Artist and Creator Seranatis: Editor and Assistant', False, True)
@ -405,7 +416,6 @@ add('LumasParadise', 'http://luma.smackjeeves.com/comics/', u"Welcome to Luma's
add('MAGISA', 'http://mag-isa.smackjeeves.com/comics/', u'A comic about a loner, an angel, and a psychopathic cult that wants to take over the world.', False, True)
add('MUTE', 'http://muterobot.smackjeeves.com/comics/', u'We fight for what we believe in and for those we care about. With terms and beliefs like these, who is to decide what is right and what is wrong? It is our emotions that fuel our actions, but is allowing them to take over really the right course of action in drastic situations...? Updates weekdays.', False, True)
add('MYth', 'http://myth.smackjeeves.com/comics/', u"MYth is a collection of original short stories inspired by the Greek mythology. Since it's MY version, the storyline differs from the classic mythology. .: MYth: My Seasons :. Demeter's sudden disappearance left Hades nothing but a daughter named Persephone... .: MYth: Eternal Gift :. The story of Poseidon and his true love... .: MYth: A PROMISE :. Before the time of the Olympians. Promises...made and broken... Between two brothers, only regrets remained. ***MATURE CONTENT APPLIES TO MYth: A PROMISE ONLY*** MYth (c) Zelda C. Wang http://zeldacw.idv.st http://zelda994612.deviantart.com", False, False)
add('Mafiagame', 'http://mafia.smackjeeves.com/comics/', u'', False, True)
add('MagicalRenegades', 'http://magical-renegades.smackjeeves.com/comics/', u"In The State of Confusion, worlds, time periods, and magical girl wannabe heroes collide and cause a revolution after a megalomaniac's time travel scheme leaves everyone stuck in the past! The 'heroes' must fight against the rival magical girl faction over rewriting the turning point of Confusionite history, and to prevent another collapse of the space-time continuum! Genres: Comedy+Drama (mostly comedy, I'm aiming towards 90% comedy 10% drama, and 120% WTF-is-this-I'm-reading?!), Magical Girl/Mahou Shoujo, Metafiction, Steampunk (starting in chapter 3)", False, True)
add('Magience', 'http://www.magience.co/comics/', u'------------------------------ Updates: M - W - F - Sa - Su at Midnight PST Content Rated PG-16 ------------------------------ "Magience" was a new video game, one you could play while awake OR asleep thanks to an innovative headset. No one was quite sure the exact technology behind it, only that it was top-of-the-line and very mysterious. In a world of fantasy, players get one character to level and adventure with, exploring an infinitely growing and evolving world. However, it\'s not long before people start to notice certain oddities, and certain strange theories and rumors start popping up all over the place, both in game and in real life. Crazy as it sounded, what if "Magience" wasn\'t just a game after all?', False, True)
add('Manifested', 'http://manifested.smackjeeves.com/comics/', u'Hi there my names Stuart and I\'m the main character of Manifested ...and i hate my author...even though hes me. "shut it and describe my comic to all the nice viewers out there." fine, basically its about how i came upon a power to enter other peoples stories(video games movies cartoons all that jazz)and just mess around in them meeting my favorite characters and getting some awesom stuff like more superpowers and new friends. it was awesome till he introduced some assholes who decided to ruin the fun. if ya want a higher quality version my deviantart is http://statrux.deviantart.com/ so far i have gone into many places of those there has been the Spider-Man movie, Devil May Cry, X-man, Legend of Zelda Twilight Princess, and Kingdom hearts 2. there are also many other references . also say hi to the other main characters Tyler and Midna..yes that Midna the one from the game.', False, True)
@ -424,7 +434,6 @@ add('MedleySoup', 'http://medleysoup.smackjeeves.com/comics/', u'Three teenagers
add('Mega', 'http://dj-mega.smackjeeves.com/comics/', u'Dr. Wily has betrayed Dr. Light. He stole Dr. Lights robos and findings to make his own robots to destroy him and the city he lives in. However, Dr. Light has his own aces up his sleeve. Follow the adventures of DAVE and Megaman, and find out if Wily can be beaten. No longer accepting Cameos.', False, False)
add('MegaMaidenandTheChopChopPrincess', 'http://mega-and-choppy.smackjeeves.com/comics/', u'Two girls who love punching crims become superheroes. Mega maiden is intended for OLDER Teens and adults for crude humor, language & adult situations.', False, True)
add('MegaManBattleNetwork7TheWorldTournament', 'http://mmbn7-twt.smackjeeves.com/comics/', u'The year is 20XX... People are very lazy because they have Net Navis that do everything for them since even desks are controlled through the internet. Some people use these Net Navis for fighting and are called "Net Battlers". But, who is the strongest Net Battler? This tournament will decide that.', False, True)
add('MegaManSpriteExpo', 'http://megaman-sprite-expo.smackjeeves.com/comics/', u'Hello all, this is your host, Alienoid! And this is for all the Mega Man spriters that want to show their greatness! Some rules though: -Keep it family friendly. -Be nice on others. -Have fun. -Mega Man sprites only. -Any Mega Man series allowed! -Memes now allowed! Will accept any author applications, unless previously removed. Fan-characters, conversions, custom, WATEVA!', False, True)
add('MegaManTales', 'http://megamantales.smackjeeves.com/comics/', u'Follow the Adventures of G.B.A, a boy who ended up the MegaMan world and must find a way back home. Status: FINISHED! FOR REALZ NOW!', False, True)
add('MegaManiacs', 'http://megamaniacscomics.smackjeeves.com/comics/', u'The adventures of the MM7 cast, plus the fun-loving Andante, in an attempt to stop the forces of evil.', False, True)
add('MelodyAndMacabre', 'http://melodyandmacabre.smackjeeves.com/comics/', u'A little girl befriends Death and encounters those who seek him. An odd little series about obsession and... you guessed it... death.', False, True)
@ -501,7 +510,6 @@ add('PerplexingMagnoliaDisruption', 'http://smgpmd.smackjeeves.com/comics/', u"P
add('PeterPan', 'http://peterpan.smackjeeves.com/comics/', u"A manga adaptation of the classic children's story Peter Pan. Closely following J.M. Barrie's original story, come follow the adventures of Peter and the Darling children in Neverland! If you've never read the book, here's your chance to experience the real story! If you have, and enjoyed it, then this is the comic for you! If you like the comic, and have Facebook, pop on over to Tria Elf9's Neverland, the FB page for the comic! It updates with the current pages on deviantart. Hope to see you there! https://www.facebook.com/TriaElf9sNeverland Peter Pan is also posted to Deviant art: http://triaelf9.deviantart.com/gallery/32562528 And on Manga Magazine: http://www.mangamagazine.net/manga-and-comics/Peter-Pan/detail-page/798?lang=en", False, True)
add('Phantomland', 'http://phantomland.smackjeeves.com/comics/', u"UPDATES ON THURSDAYS Santa Luison is a large city that employs it's strange minority of subhumans at a crime fighting organization. Introduce Chie: a fresh little rookie who receives her training from the baddest, meanest veteran officer around. Phantomland started as a self-published print comic back in 2009 and is now getting it's online debut at Smackjeeves. To know more about this comic, visit the homepage at: http://amph.nipponfever.net/phantomland", False, True)
add('PiandPeasNuzlockeAdventures', 'http://piandpea.smackjeeves.com/comics/', u"Pi embarks on a Nuzlocke Challenge adventure in Unova! Together with her smug Snivy, Pea, she'll have to stop Team Plasma from making a world without Pokemon... Will they be able to work together? Will they make it through, until the end? ...alive?", False, True)
add('PiecesofBrokenGlass', 'http://piecesofbrokenglass.smackjeeves.com/comics/', u'COMPLETED: 6/9/11 "Humpty Dumpty sat on a wall, Humpty Dumpty had a great fall; All the King\'s horses and all the King\'s men... Couldn\'t put Humpty together again." Sometimes...even revenge isn\'t enough. UPDATES: On Thursdays MATURE CONTENT WARNING: This comic contains scenes which may be offensive. Proceed with caution!', False, True)
add('PietheComic', 'http://pie.smackjeeves.com/comics/', u"A comic fueled by its author's earnest intentions. Written and Drawn by the genius brother duo of David and Gerith D.", True, True)
add('PirateCthulhuComics', 'http://pccomics.smackjeeves.com/comics/', u'Needlessly wasting smackjeeves bandwidth since 2009, while in possession of better crab!!', False, True)
add('PlanetChaser', 'http://planetchaser.smackjeeves.com/comics/', u'In the future when 18 year old Clarissa inherits a spaceship and a robot, little did she expect the trouble that goes with it. Being orphaned, she begins to learn about her parents and an alien who rules over humankind.', False, True)
@ -529,7 +537,6 @@ add('RainLGBT', 'http://rainlgbt.smackjeeves.com/comics/', u'Written by Jocelyn
add('RaisonDetre', 'http://raison-detre.smackjeeves.com/comics/', u"When flamboyant Brit Alastair moved to America, he thought he'd accomplish a little more than setting up a failing pizza take away business after his Harvard education. After being deemed unable to have children, neither did be believe his pipe dream of starting a family would ever be possible. However following many odd twists of fate, he finds himself being the legal guardian of four children/adolescents each with their own unique quirks and of course, problems. But despite his best efforts, following a devastating accident, he finds it incredibly difficult to function within the busy New York lifestyle, let alone tackle four children alone. After being confronted with his first genuine Italian applicant for the new chefs job, could Luca Giovanni be the most complex new addition to this dysfunctional family? And what could be the reason behind Alastair's unhealthy attachment to him? Comedy / Drama / Slice of life / Romance >>>>>>>> Read this way >>>>>>>>>", False, True)
add('Rasputin', 'http://rasputin.smackjeeves.com/comics/', u'Rasputin is a grey haired kid who moves to the big city! Oh what horrors awaits him in this new town!? Angry redheads? Pedo teachers? Closet hookers!? yup. AND MUCH MORE! Hope you enjoy my comic >8D !', False, True)
add('ReidyandFriendsShowcase', 'http://reidynfriends.smackjeeves.com/comics/', u"A general showcase where pretty much anyone can post anything they want, barring porn. Maybe. Probably. We also try to be civil whenever possible, so don't go out of your way to piss people off. Other than that just sit back, relax, and enjoy the showcase. Anyways, you should have at least SOME experience spriting before applying to join, should you want to. We don't accept recolors and are very much against sprite thieves. Send all applications to Reidy. Hah, no. He's dead. Just hit the apply button.", False, False)
add('RemmyzRandomz', 'http://remmyz-randomz.smackjeeves.com/comics/', u'Random Comics Based off Real Life Situations, Conversations, comics and my mind~ 8D', False, True)
add('RemoteAngel', 'http://remoteangel.smackjeeves.com/comics/', u"READ FROM LEFT TO RIGHT. MOVED TO ANOTHER SITE. Alice Desangi has been having this obscure dreams lately and leads to this demon, Rose, to attempt to kill her. She discovers that she's an angel of God. One of the children of light who God chooses in the world. Her deceased sister, Becky, gives her hints on dealing with the goodness and evils of the world. The mysteries behind Alice, her friends and enemies begin to unfold as the story goes on. Genre: Action, Comedy, Romance, Slice of life, Supernatural, Drama", False, True)
add('Renai', 'http://renaii.smackjeeves.com/comics/', u'Kawana Ori is a ordinary teenage girl, that is until she meets the new boy at Fujiwara high, he calls himself Ren-kun an he says he likes "pure" girls. But what Kawana doesnt know is that Ren is a 1000 year old vampire who can only drink the blood of "pure" girls.', False, True)
add('Replica', 'http://replica.smackjeeves.com/comics/', u'Edelric Helgard, a young Marquis, returns to the house of his childhood in order to save his family\u2019s lands from an epidemic. During his research, he encounters a foreign slave who looks disturbingly like his first love, his late half-brother. Thus begins a game of replicas mingling memories and reality. -Read from Left to Right -Boys Love -R-18 from chapter 2 onwards -Updates on Fridays', True, True)
@ -544,7 +551,6 @@ add('RoyalIcing', 'http://royalicing.smackjeeves.com/comics/', u'AVAILABLE IN PR
add('RozeFighter', 'http://rozefighter.smackjeeves.com/comics/', u"In the year 2310AD a young man, Apollo (Mitsu) Kurosu, makes a life change decision that could possible change his entire life. Now he has to find nine magical crystals and defend himself from all sorts of baddies- All while fighting along side his best friend's little bratty sister! Join us on Wednesdays and Saturdays! Follow us on tumblr: http://roze-fighter.tumblr.com/ Find us on Facebook: https://www.facebook.com/RozeFighter?ref=hl", False, True)
add('RubyNation', 'http://www.therubynation.com/comics/', u"This is the story of Ruby Harrison, former middle-upper-class American high schooler turned nine-foot-tall post-human person of mass destruction. Dragged into a worldwide conspiracy that treats human beings as mere test subjects, Ruby's goal is to create a safe haven for her fellow post-human victims. But their powers are too valuable for the world to let be, and Ruby and her comrades will have to make hard decisions to preserve her new home.", False, True)
add('RubyRed', 'http://rubyred.smackjeeves.com/comics/', u'', False, True)
add('RubysWorld', 'http://rubysworld.smackjeeves.com/comics/', u"Ruby's Harrisons plans for Stanford have been derailed a bit--a natural consequence of the science accident that happened to her during a summer internship, leaving her mutated into a much larger, stronger, and more powerful form. But the accident also made her aware of a conspiracy tied all the way back to her late mother, with human beings being kidnapped and surgically twisted into genetic weapons. Now, with other young people traumatized by this reprehensible use of science, Ruby tries to find justice in a world that prefers power...", False, False)
add('RyakLo', 'http://ryak-lo.smackjeeves.com/comics/', u'', False, True)
add('SAKANA', 'http://sakana.smackjeeves.com/comics/', u'A thrilling tale of two socially dysfunctional brothers working at the largest fish market in the world, and the things they must do to get paid, make friends and date ladies. Also, this comic updates a few days ahead of time on Mangamagazine.net! http://www.mangamagazine.net/manga-and-comics/SAKANA/detail-page/125', False, True)
add('SChIzO', 'http://schizophrenic.smackjeeves.com/comics/', u"Hector never seems to want to leave Ruby alone. He's always there, bugging her and tracking her every move and she can't stand him much longer. Of course...she has to learn to live with it seeing as he isn't going anywhere. Afterall, he IS just that little voice in her head. Join the schizophrenic Ruby, her mute best friend and roommate Kenneth, their eccentric neighbor Lynn and a whole cast of oddball characters as they try to live through the everyday trials of moving out and living on your own...despite being a little messed up in the head.", False, True)
@ -578,7 +584,6 @@ add('SimonSues', 'http://simonsues.smackjeeves.com/comics/', u'Simon, a former l
add('SimpleBear', 'http://simplebear.smackjeeves.com/comics/', u'Bear Copenhagen is just a simple bear and nothing else. Spoiler: Not for long. Simple Bear is an action packed, supernatural thrill ride that uses words like this in the summary to make people want to read it. Also this comic features cartoon animals, not "furries." Just thought I\'d throw that out there. Updates every 2 days', False, False)
add('Skate', 'http://skate.smackjeeves.com/comics/', u"'You think you can do anything... how about your rival is better? Outstanding skills, cheatting or maybe something else? Go find out in the confrontation of two strong personalities. Remember: curiosity is the first step to hell...' --- Manga: real life, school life, humor, action", False, True)
add('Skeptical', 'http://skeptical.smackjeeves.com/comics/', u'A regular slice of life/death romantic comedy about an unusual family and their relations to a group of creatures that call themselves "skull people". Said human family is not mine. The Clark family(and half the comic itself) was created by and belongs to TyrannicalShipper. Just a warning- there\'s an abundance of foul language, and occasional bloodshed. Constructive critiques are always appreciated! (Updates sporadically due to the fact that we are both now in college)', False, True)
add('SladesMansionofawesomeness', 'http://mansionofawesomeness.smackjeeves.com/comics/', u'Are you bored with life? Wanna make new friends? How about do random shit and not care about the consequences? If you said yes to any of these questions then come to slades mansion of awesomeness! (All authors have Permissions so go ahead and post your sprites so i can put you in the banner, oh and also intros as well) Right now im kinda hoping we can get more than just sonic characters in here....we only have 7 humans xD i feel out numbered. we also need girls...theres only 5 here too xD -DarkSoniic 1. Authors are required to update at least once a month. 2. No advertisements. Anyone who advertises their comic in news or coments will be baned. 3.All new people who have yet to post a single comic. DO AN INTRO!', False, True)
add('SlipstreamSingularity', 'http://slipstreamsingularity.smackjeeves.com/comics/', u'350 years have passed since the first and only mission beyond Human Occupied Space was launched. In search of the alien intelligence that sent such wondrous knowledge back to Earth, the Odyssey mission was lost. Now, denied their own home world by the rebellion of their own children creations, the Synthetics, humanity has become a race of despots and wanderers that meander through the stars, eking out an existence. Updated Tuesdays and Saturdays.', False, True)
add('SmallPressAdventures', 'http://smallpressadventures.smackjeeves.com/comics/', u"Action and adventure from all across the small press! Featuring genres ranging from superhero to horror to who knows? This comic is updated every Wednesday, so come on back! Don't forget to check out all our other strips!!!", False, False)
add('Smashandfriendsshowcase', 'http://smashshowcase.smackjeeves.com/comics/', u'This a a showcase in which any spriter can join. Here you can post: Sprites Pixel art Character bios Cool effects Short comics Memes Ads And More! Rules: No flaming, trolling or any of the sort No Porn So Join!!!! And be sure to post often! (If you do not post in like a month or something without reason, you will be taken off) And now, for some quotes from the authors: Smash: sprite! Pocket_Ninja : ......WHO ARE YOU PEOPLE?!?!?!?!?! Luxbot: EFFECTS IS A NECESSITY FOR ME. :< CamTro: No effects for me to sprite and speak as in same time! ~\xe0\xb2\xa0_\xe0\xb2\xa0~ Sspeedo th: I try to sprite but effects and comics work betta under the microscope. Drago: Spritin epic style. A-A-A-A-A-A-AAAAA- *shot*', False, True)
@ -616,7 +621,6 @@ add('SuperDimensionAfterTheHero', 'http://afterthehero.smackjeeves.com/comics/',
add('SuperMarioBros3', 'http://smb3.smackjeeves.com/comics/', u'The story of the Super Mario Bros. 3 game.', False, True)
add('SupermassiveBlackHoleA', 'http://smbhax.smackjeeves.com/comics/', u'Stories of a human civilization at the center of the Milky Way galaxy: an area of space dominated by a gigantic black hole, where energy is abundant and life is cheap. Updates M-F, usually multiple times per day.', False, True)
add('SurvivorFanCharacters', 'http://sfc.smackjeeves.com/comics/', u'Fan Characters will be competing for $1,000,000.', False, True)
add('SushiGummy', 'http://sushigummy.smackjeeves.com/comics/', u'A comic about George, a \'normal\' gamer who just happens to have his video game consoles possessed. Why? Maybe you\'ll find out later. These possessed systems suck George into the game until he beats it. "The first comic I\'ve read in a long time that actually made me laugh hard enough to choke." -Recon Dye, Pok\xe9mon X "I\'m gonna get to the point. Sushi Gummy has got to be the funniest thing I\'ve ever reviewed, or even read on Smack Jeeves." -Beastie, Comic Reviews "If I could compare the humor of Sushi Gummy to anything that I know, it would be like a kitten. It looks cute, but it has claws, fangs, and is a merciless killer." -BlueLink, Second Opinion Reviews Express Current comics: Super Smash Bros Brawl Pok\xe9mon Animal Crossing Hitman Super Mario Galaxy E3 \'08 Pok\xe9mon Mystery Dungeon Nintendogs', False, True)
add('Symbios', 'http://symbios.smackjeeves.com/comics/', u"Almost every nation in existence has a tale of terrors and hauntings to pass on to their posterity... Xedondria is no different. Their tale was to keep children from doing wrong, and if they behaved, their reward was to sleep with a clear conscience. But if they didn't behave, not only would they suffer the consequences from man, they would also be visited by the Night Horror: a monstrosity only nightmares could bring, only living in one's sleep... Now one must ask: who is it that sleeps, yet suffers the torture of this very real Horror? ***Comic will be marked mature due to any violence or themes, Thank you!***", True, True)
add('TCWFireRedNuzlockeedition', 'http://tcwfirered.smackjeeves.com/comics/', u'Mewtwo completly destroyed the hidden village of the angels in Kanto. One angel surived the disaster. A girl, Sarachan (or sara). Mewtwo let her alive and challenge her to battle him at Cerulean Cave. But first of doing that, Sara should challenge the Gym and the Elite 4. She accepted, but will she make it until the end?', False, True)
add('TEN', 'http://ten.smackjeeves.com/comics/', u'Two years ago our two main characters jumped from a cliff to escape from a life of confinement and torture. The life of a human guineapig They jumped into a unknown future, a unknown destiny... and maybe death. But both of them survived and now, two years later, they meet again...', False, False)
@ -674,7 +678,6 @@ add('TheMewExperiment', 'http://themewexperiment.smackjeeves.com/comics/', u'A T
add('TheMitchellEffect', 'http://themitchelleffect.smackjeeves.com/comics/', u'A typical tale of an ordinary teenager who accidentally summons a demon that eats all his snacks and smokes all his good weed. You know.....a classic :) If you like what you see here come friend me on Facebook for more goodies and funny content: Cornelius Goodfellar', False, True)
add('TheNightSurfers', 'http://thenightsurfers.smackjeeves.com/comics/', u'When the coastal city of Costa Nueva is threatened by sand creatures sent by a mysterious evil, four teenagers rise from tragedy to become heroes. They are The Night Surfers. Read it here at Smack Jeeves, or get even more content and the most recent updates at thenightsurfers.com!', False, True)
add('ThePirateBalthasar', 'http://thepiratebalthasar.smackjeeves.com/comics/', u'Wilson Kane wins a fortune and his future bride at a game of dice from the former pirate Balthasar. When he decides to go and get the girl, the pirate way, by kidnapping her, not only he finds out that she is more than a pirate could ever want from a wife... but that she has 4 identical sisters as well. This discovery hits him when his men, who were supposed to help him out, each kidnaps a different girl... and none of them gets the right one! But Wilson Kane wants the girl he had met and no one else! Luckily for him it will be the girl herself to solve his problem and put an end to his dilemma... a solution that will eventually fling her into a new way of life, aboard the Alidivento, across the Mediterranea sea!', False, False)
add('ThePokemonArtBox', 'http://thepokemonartbox.smackjeeves.com/comics/', u"Go on a virtual art gallery filled with tons and tons of pokemon art! whether it's hand drawn, sprited, or drawn on the computer, any pokemon lover will find something they like! why are you reading this? check it out for yourself! Also note that all artwork here is fan made, we do not own Pokemon, nor do we claim ownership of the Pokemon company, Pokemon belongs to (c)Nintendo Do not steal another person's artwork from this and claim it as your own, ask the artist for permission and state sources if you wish to redistribute or re-post the art anywhere else on the web. Thank you.", False, True)
add('ThePrinceandtheToad', 'http://tpatt.smackjeeves.com/comics/', u"A young boy comes across a rather excited little toad, telling him that it's magical, and is in reality a royalty. But the little amphibian isn't quite what the boy expected it to be.", False, True)
add('ThePrincessandtheGiant', 'http://princess.smackjeeves.com/comics/', u'A silent fairytale about a young princess and another, rather larger individual. Updates Sundays.', False, True)
add('TheProtector', 'http://protectorcomic.smackjeeves.com/comics/', u"A story about a boy and his protector. Set in the country of Senobia, a young boy is set on the path of destiny. His companion is one of the country's most celebrated heroes. What adventures awaits the two of them? Started in 2008 and continued in 2010. This is not a BL, it contains little to no sexual scenes at all, this is an adventure story. If you want porn linked to this story (only between adults of course), then please feel free to read my companion story, Sacrifices. Updates Sundays http://sacrificescomic.smackjeeves.com/", False, True)

View file

@ -78,7 +78,7 @@ class ThisIsIndexed(_BasicScraper):
imageSearch = compile(tagre("img", "src", r'(%swp-content/uploads/\d+/\d+/card[^"]+)' % rurl))
multipleImagesPerStrip = True
prevSearch = compile(tagre("div", "class", "nav-previous") +
tagre("a", "href", r'(%spage/\d+/)' % rurl))
tagre("a", "href", r'(%spage/\d+/)[^"]*' % rurl))
help = 'Index format: number'
@ -86,8 +86,8 @@ class ThunderAndLightning(_BasicScraper):
url = 'http://www.talcomic.com/wp/'
rurl = escape(url)
stripUrl = url + '%s/'
prevSearch = compile(tagre("a", "href", r'(%swp/[^"]+)' % rurl, after="prev"))
imageSearch = compile(tagre("img", "src", r'(%swp/comics/[^"]+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="prev"))
imageSearch = compile(tagre("img", "src", r'(%scomics/[^"]+)' % rurl))
help = 'Index format: yyyy/mm/dd/page-nn'
@classmethod
@ -147,7 +147,7 @@ class TheWhiteboard(_BasicScraper):
class HMHigh(_BasicScraper):
name = 'TheFallenAngel/HMHigh'
baseurl = 'http://www.thefallenagel.co.uk/'
baseurl = 'http://www.thefallenangel.co.uk/'
url = baseurl + 'hmhigh/'
rurl = escape(baseurl)
stripUrl = url + '?id=%s'

View file

@ -10,10 +10,10 @@ from ..helpers import bounceStarter
class ZapComic(_BasicScraper):
url = 'http://www.zapcomic.com/'
rurl = escape(url)
rurl = escape(url[:-1]) # without trailing slash
stripUrl = url + '%s/'
imageSearch = compile(tagre("img", "src", r'(%s\?comic_object=\d+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s[^"]+)' % rurl, after="previous-comic-link"))
imageSearch = compile(tagre("img", "src", r'(%s\?comic_object\=\d+)' % rurl))
prevSearch = compile(tagre("a", "href", r'(%s/[^"]+)' % rurl, after="previous-comic-link"))
help = 'Index format: yyyy/mm/nnn-stripname'

View file

@ -107,6 +107,9 @@ class _BasicScraper(object):
if len(imageUrls) > 1 and not self.multipleImagesPerStrip:
patterns = [x.pattern for x in makeSequence(self.imageSearch)]
out.warn("found %d images instead of 1 at %s with patterns %s" % (len(imageUrls), url, patterns))
image = sorted(imageUrls)[0]
out.warn("choosing image %s" % image)
imageUrls = (image,)
elif not imageUrls:
patterns = [x.pattern for x in makeSequence(self.imageSearch)]
out.warn("found no images at %s with patterns %s" % (url, patterns))
@ -231,7 +234,7 @@ class _BasicScraper(object):
url = configuration.VoteUrl + 'count/'
uid = get_system_uid()
data = {"name": cls.getName().replace('/', '_'), "uid": uid}
page = urlopen(url, cls.session, data=data, stream=False)
page = urlopen(url, cls.session, data=data)
return page.text

View file

@ -42,7 +42,7 @@ def check_update ():
def get_online_version ():
"""Download update info and parse it."""
session = requests.session()
page = urlopen(UPDATE_URL, session, stream=False)
page = urlopen(UPDATE_URL, session)
version, url = None, None
for line in page.text.splitlines():
if line.startswith(VERSION_TAG):

View file

@ -187,14 +187,14 @@ def getPageContent(url, session, max_content_bytes=MaxContentBytes):
check_robotstxt(url, session)
# read page data
try:
page = urlopen(url, session, max_content_bytes=max_content_bytes, stream=False)
page = urlopen(url, session, max_content_bytes=max_content_bytes)
except IOError:
page = urlopen(url, session, max_content_bytes=max_content_bytes, stream=False)
page = urlopen(url, session, max_content_bytes=max_content_bytes)
data = page.text
tries = MaxRetries
while not isValidPageContent(data) and tries > 0:
time.sleep(RetryPauseSeconds)
page = urlopen(url, session, max_content_bytes=max_content_bytes, stream=False)
page = urlopen(url, session, max_content_bytes=max_content_bytes)
data = page.text
tries -= 1
if not isValidPageContent(data):
@ -212,7 +212,7 @@ def getPageContent(url, session, max_content_bytes=MaxContentBytes):
def getImageObject(url, referrer, session, max_content_bytes=MaxImageBytes):
"""Get response object for given image URL."""
return urlopen(url, session, referrer=referrer, max_content_bytes=max_content_bytes)
return urlopen(url, session, referrer=referrer, max_content_bytes=max_content_bytes, stream=True)
def makeSequence(item):
@ -314,7 +314,7 @@ def get_robotstxt_parser(url, session=None):
def urlopen(url, session, referrer=None, max_content_bytes=None,
timeout=ConnectionTimeoutSecs, raise_for_status=True,
stream=True, data=None):
stream=False, data=None):
"""Open an URL and return the response object."""
out.debug('Open URL %s' % url)
headers = {'User-Agent': UserAgent}

View file

@ -16,11 +16,6 @@ json_file = __file__.replace(".py", ".json")
# names of comics to exclude
exclude_comics = [
"Monster_Lover", # start page is broken
"Legacy_of_Blaze", # broken images
"Dead_Strangers", # broken images
"Crack", # broken images
"Iron_Wolf", # broken images
"A_Call_to_Destiny__NC_17", # start page requires login
"A_Call_to_Destiny_Reloaded", # start page requires login
"A_Day_in_the_Life_for_Erik", # broken images
@ -33,16 +28,21 @@ exclude_comics = [
"Art_dump", # broken images
"Atxs", # broken images
"A_Word_Of_Wisdom", # broken images
"Brathalla", # broken images
"Bhaddland", # start page requires login
"Binary_Souls_Other_Dimensions", # broken images
"BK_Shattered_Hate", # broken images
"Bouncing_Orbs_of_Beauty", # start page requires login
"Brathalla", # broken images
"Busty_Solar", # start page requires login
"Caggage", # page moved
"Chomp", # broken images
"Chu_and_Kenny", # broken images
"Coga_Suro_2", # broken images
"Crack", # broken images
"Creepy_Girl_and_Her_Zombie_Dog", # broken images
"CuoreVoodoo", # broken images
"Dairyaire", # broken images
"Dead_Strangers", # broken images
"DIS", # broken images
"Dot_TXT", # broken images
"Dreadnought_Invasion_Six", # broken images
@ -57,29 +57,30 @@ exclude_comics = [
"Greys_journey", # broken images
"Head_over_Heart", # broken images
"Hurrocks_Fardel", # broken images
"Bhaddland", # start page requires login
"Bouncing_Orbs_of_Beauty", # start page requires login
"Busty_Solar", # start page requires login
"Illusional_Beauty", # broken images
"Indigo_Bunting__Vampire", # start page requires login
"Irrumator", # start page requires login
"Its_A_Boy_Thing", # start page requires login
"Kokuahiru_comics", # start page requires login
"Inside_OuT", # broken images
"Iron_Wolf", # broken images
"Journey_to_Raifina", # broken images
"KALA_dan", # broken images
"Kokuahiru_comics", # start page requires login
"Kuro_Shouri", # page moved
"Legacy_of_Blaze", # broken images
"Live_to_tell", # start page requires login
"Locoma", # broken images
"London_Underworld", # broken images
"Louder_Than_Bombs", # broken images
"Lucky_Dawg", # broken images
"Lugnor_Riders", # missing
"Mario_in_Johto", # broken images
"Mary_Sue_Academy", # borken images
"Master", # start page requires login
"Mastermind_BTRN", # broken images
"MAYA_____The_legend_of_Wolf", # broken images
"Megaman_Zero", # broken images
"Monster_Lover", # start page is broken
"Monster_Lover_Destinys_Path", # start page requires login
"M_Organ_Art", # start page requires login
"Morning_Squirtz", # start page requires login
@ -125,9 +126,9 @@ exclude_comics = [
"Sonic_and_tails_corner", # broken images
"Sonic_Unreal", # broken images
"Space_Farmer", # start page requires login
"Tales_of_Schlock", # start page requires login
"Splices_of_Life", # broken images
"STARSEARCHERS", # broken images
"Tales_of_Schlock", # start page requires login
"Ted_The_Terrible_Superhero", # broken images
"Terra_online_comic", # broken images
"The_Auragon_Base", # broken images
@ -142,6 +143,8 @@ exclude_comics = [
"The_SSA", # broken images
"Tony_The_Hedgehog", # broken images
"Trapped_in_a_Comic", # start page requires login
"Twonks_and_Plonkers", # broken images, no real content
"U_Chuu_No_Hoshi_Hotoshi_Tsuko", # broken images
"Unsound_of_Mind", # broken images
"Vampire_Chronicles__Dark_Lust", # start page requires login
"WarMage", # start page requires login
@ -155,8 +158,6 @@ exclude_comics = [
"XTIN__The_Dragons_Dream_World", # start page requires login
"X_UP", # start page requires login
"Zandars_Saga", # start page requires login
"Twonks_and_Plonkers", # broken images, no real content
"U_Chuu_No_Hoshi_Hotoshi_Tsuko", # broken images
]

View file

@ -37,6 +37,7 @@ exclude_comics = [
"GOODAndEVIL", # too few comics
"InkeeDoodles", # comic unavailable
"KALEECHIKORNERS", # too few comics
"LoveIs", # missing images
"MaggiesComics", # too few comics
"OfMiceandMud", # too few comics
"OysterWar", # too few comics

View file

@ -18,6 +18,7 @@ json_file = __file__.replace(".py", ".json")
# names of comics to exclude
exclude_comics = [
"9Lives", # missing images
"ADifferentPerspective", # does not follow standard layout
"AFairlyTwistedRealitySuper", # does not follow standard layout
"Ahoge", # does not follow standard layout
@ -25,6 +26,9 @@ exclude_comics = [
"AreyougayJohnny", # does not follow standard layout
"Authorbattlesthevideogame", # missing images
"BambooArmonicKnightsGuild", # missing previous link
"BreIshurnasspritesandstuff", # comic moved
"CatboyattheCon", # missing images
"ContraandtheSpamDump", # missing images
"ClubLove", # does not follow standard layout
"Darkkyosshorts", # missing images
"DeSTRESS", # does not follow standard layout
@ -43,6 +47,8 @@ exclude_comics = [
"KirbysoftheAlternateDimension", # missing images
"LoudEra", # does not follow standard layout
"LunarHill", # does not follow standard layout
"Mafiagame", # does not follow standard layout
"MegaManSpriteExpo", # missing images
"MyLifewithFelENESPANOL", # does not follow standard layout
"MylifewithFel", # does not follow standard layout
"NegativeZen", # does not follow standard layout
@ -53,18 +59,24 @@ exclude_comics = [
"OmnisSpriteShowcase", # missing images
"OpticalDisarray", # does not follow standard layout
"PicturesofYou", # does not follow standard layout
"PiecesofBrokenGlass", # broken images
"PlatonicManagementDilemma", # missing images
"Pornjunkiesstrip", # does not follow standard layout
"PrettyUgly", # does not follow standard layout
"Project217", # does not follow standard layout
"RemmyzRandomz", # does not follow standard layout
"Ribon", # does not follow standard layout
"RubysWorld", # does not follow standard layout
"SecretSanta2011", # missing images
"ShinkaTheLastEevee", # does not follow standard layout
"SimplePixel", # does not follow standard layout
"SJArtCollab", # missing images
"SladesMansionofawesomeness", # does not follow standard layout
"SlightlyDifferent", # missing images
"SpaceSchool", # does not follow standard layout
"SushiGummy", # does not follow standard layout
"TheAfterSubtract", # does not follow standard layout
"ThePokemonArtBox", # does not follow standard layout
"THEVOIDWEBCOMIC", # does not follow standard layout
"ThreadCrashers", # has no previous comic link
"TotallyKotor", # missing images