Clean up lost comics

This commit is contained in:
Techwolf 2023-06-06 21:07:42 -07:00 committed by Tobias Gruetzmacher
parent 6719c6ac25
commit 202e47af50
No known key found for this signature in database
10 changed files with 10 additions and 112 deletions

View file

@ -117,13 +117,6 @@ class CatAndGirl(_ParserScraper):
prevSearch = '//a[d:class("pager--prev")]' prevSearch = '//a[d:class("pager--prev")]'
class CatenaCafe(WordPressScraper):
name = 'CatenaManor/CatenaCafe'
url = 'https://catenamanor.com/'
stripUrl = url + 'comic/%s/'
firstStripUrl = stripUrl % 'reboot-book1cover-small'
class CatenaManor(_ParserScraper): class CatenaManor(_ParserScraper):
baseUrl = ('https://web.archive.org/web/20141027141116/' baseUrl = ('https://web.archive.org/web/20141027141116/'
'http://catenamanor.com/') 'http://catenamanor.com/')

View file

@ -20,24 +20,6 @@ class FalconTwin(_BasicScraper):
help = 'Index format: nnn' help = 'Index format: nnn'
class FalseStart(_ParserScraper):
baseUrl = 'https://boneitisindustries.com/'
url = baseUrl + 'comics/false-start/'
stripUrl = baseUrl + 'comic/%s/'
firstStripUrl = stripUrl % 'false-start-chapter-zero-page-1'
imageSearch = '//div[@id="content"]//img[d:class("size-full")]'
prevSearch = '//a[./span[d:class("ticon-chevron-left")]]'
adult = True
def starter(self):
archivePage = self.getPage(self.url)
self.archive = archivePage.xpath('//div[contains(@class, "vcex-portfolio-grid")]//a/@href')
return self.archive[-1]
def getPrevUrl(self, url, data):
return self.archive[self.archive.index(url) - 1]
class Faneurysm(WordPressNaviIn): class Faneurysm(WordPressNaviIn):
url = 'http://hijinksensue.com/comic/think-only-tree/' url = 'http://hijinksensue.com/comic/think-only-tree/'
firstStripUrl = 'http://hijinksensue.com/comic/captains-prerogative/' firstStripUrl = 'http://hijinksensue.com/comic/captains-prerogative/'

View file

@ -59,16 +59,6 @@ class GeeksNextDoor(_ParserScraper):
help = 'Index format: yyyy-mm-dd' help = 'Index format: yyyy-mm-dd'
class Ginpu(WordPressNavi):
url = 'https://www.ginpu.us/'
stripUrl = url + 'comic/%s/'
firstStripUrl = stripUrl % 'filler-2'
def namer(self, imageUrl, pageUrl):
filename = imageUrl.rsplit('/', 3)
return '%s-%s_%s' % (filename[1], filename[2], filename[3])
class GirlGenius(_BasicScraper): class GirlGenius(_BasicScraper):
baseUrl = 'http://www.girlgeniusonline.com/' baseUrl = 'http://www.girlgeniusonline.com/'
rurl = escape(baseUrl) rurl = escape(baseUrl)

View file

@ -63,7 +63,6 @@ class KemonoCafe(ParserScraper):
cls('LasLindas', 'laslindas', 'll0001', adult=True), cls('LasLindas', 'laslindas', 'll0001', adult=True),
cls('Paprika', 'paprika', 'page000'), cls('Paprika', 'paprika', 'page000'),
cls('PracticeMakesPerfect', 'pmp', 'title-001'), cls('PracticeMakesPerfect', 'pmp', 'title-001'),
cls('PrincessBunny', 'princessbunny', 'pg001'),
cls('Rascals', 'rascals', 'rascals-pg-0', adult=True), cls('Rascals', 'rascals', 'rascals-pg-0', adult=True),
cls('TheEyeOfRamalach', 'theeye', 'theeye-page01'), cls('TheEyeOfRamalach', 'theeye', 'theeye-page01'),
cls('TinaOfTheSouth', 'tots', 'tos-01-01'), cls('TinaOfTheSouth', 'tots', 'tos-01-01'),

View file

@ -112,7 +112,6 @@ class MangaDex(ParserScraper):
cls('HowToOpenATriangularRiceball', '6ebd90ce-d5e8-49c0-a4bc-e02e0f8ecb93'), cls('HowToOpenATriangularRiceball', '6ebd90ce-d5e8-49c0-a4bc-e02e0f8ecb93'),
cls('HunterXHunter', 'db692d58-4b13-4174-ae8c-30c515c0689c'), cls('HunterXHunter', 'db692d58-4b13-4174-ae8c-30c515c0689c'),
cls('IchaichasuruToOkaneGaWaichauFutariNoHanashi', '8eaaec7d-7aa7-490e-8d52-5a3d0a28e78b'), cls('IchaichasuruToOkaneGaWaichauFutariNoHanashi', '8eaaec7d-7aa7-490e-8d52-5a3d0a28e78b'),
cls('ImTheMaxLevelNewbie', 'a253e13a-2b41-4f7d-915e-1e31a3f5d31d'),
cls('InterspeciesReviewers', '1b2fddf9-1385-4f3c-b37a-cf86a9428b1a'), cls('InterspeciesReviewers', '1b2fddf9-1385-4f3c-b37a-cf86a9428b1a'),
cls('JahySamaWaKujikenai', '2f4e5f5b-d930-4266-8c8a-c4cf9a81e51f'), cls('JahySamaWaKujikenai', '2f4e5f5b-d930-4266-8c8a-c4cf9a81e51f'),
cls('JingaiNoYomeToIchaIchaSuru', '809d2493-df3c-4e72-a57e-3e0026cae9fb'), cls('JingaiNoYomeToIchaIchaSuru', '809d2493-df3c-4e72-a57e-3e0026cae9fb'),

View file

@ -604,6 +604,7 @@ class Removed(Scraper):
cls('WotNow'), cls('WotNow'),
# Removed in 3.0 # Removed in 3.0
cls('CatenaManor/CatenaCafe'),
cls('ComicFury/AdventuresOftheGreatCaptainMaggieandCrew'), cls('ComicFury/AdventuresOftheGreatCaptainMaggieandCrew'),
cls('ComicFury/AWAKENING'), cls('ComicFury/AWAKENING'),
cls('ComicFury/Beebleville'), cls('ComicFury/Beebleville'),
@ -832,6 +833,8 @@ class Removed(Scraper):
cls('ComicsKingdom/Redeye'), cls('ComicsKingdom/Redeye'),
cls('ComicsKingdom/RedeyeSundays'), cls('ComicsKingdom/RedeyeSundays'),
cls('CrapIDrewOnMyLunchBreak'), cls('CrapIDrewOnMyLunchBreak'),
cls('FalseStart'),
cls('Ginpu'),
cls('GoComics/060'), cls('GoComics/060'),
cls('GoComics/2CowsAndAChicken'), cls('GoComics/2CowsAndAChicken'),
cls('GoComics/ABitSketch'), cls('GoComics/ABitSketch'),
@ -992,9 +995,11 @@ class Removed(Scraper):
cls('GoComics/Wrobbertcartoons'), cls('GoComics/Wrobbertcartoons'),
cls('GoComics/Zootopia'), cls('GoComics/Zootopia'),
cls('JustAnotherEscape'), cls('JustAnotherEscape'),
cls('KemonoCafe/PrincessBunny'),
cls('Laiyu', 'brk'), cls('Laiyu', 'brk'),
cls('MangaDex/DrStone', 'legal'), cls('MangaDex/DrStone', 'legal'),
cls('MangaDex/HeavensDesignTeam', 'legal'), cls('MangaDex/HeavensDesignTeam', 'legal'),
cls('MangaDex/ImTheMaxLevelNewbie', 'legal'),
cls('MangaDex/SPYxFAMILY', 'legal'), cls('MangaDex/SPYxFAMILY', 'legal'),
cls('Ryugou'), cls('Ryugou'),
cls('SeelPeel'), cls('SeelPeel'),
@ -1568,16 +1573,21 @@ class Removed(Scraper):
cls('SnafuComics/Tin'), cls('SnafuComics/Tin'),
cls('SnafuComics/Titan'), cls('SnafuComics/Titan'),
cls('StudioKhimera/Eorah', 'mov'), cls('StudioKhimera/Eorah', 'mov'),
cls('StudioKhimera/Mousechevious'),
cls('StuffNoOneToldMe'), cls('StuffNoOneToldMe'),
cls('TaleOfTenThousand'), cls('TaleOfTenThousand'),
cls('TalesAndTactics'),
cls('TheCyantianChronicles/CookieCaper'), cls('TheCyantianChronicles/CookieCaper'),
cls('TheCyantianChronicles/Pawprints'), cls('TheCyantianChronicles/Pawprints'),
cls('VampireHunterBoyfriends'),
cls('VGCats/Adventure'), cls('VGCats/Adventure'),
cls('VGCats/Super'), cls('VGCats/Super'),
cls('VictimsOfTheSystem'), cls('VictimsOfTheSystem'),
cls('WebDesignerCOTW'), cls('WebDesignerCOTW'),
cls('WebToons/Adamsville'), cls('WebToons/Adamsville'),
cls('WebToons/CrapIDrewOnMyLunchBreak'), cls('WebToons/CrapIDrewOnMyLunchBreak'),
cls('WebToons/CrystalVirus'),
cls('WebToons/OVERPOWERED'),
cls('WintersLight'), cls('WintersLight'),
) )

View file

@ -1,47 +0,0 @@
# SPDX-License-Identifier: MIT
# Copyright (C) 2019-2022 Tobias Gruetzmacher
# Copyright (C) 2019-2020 Daniel Ring
from ..scraper import ParserScraper
from .common import WordPressScraper
class StudioKhimera(ParserScraper):
imageSearch = '//figure[@class="gallery-item"]//img/@data-src'
prevSearch = '//a[@rel="prev"]'
def __init__(self, name, sub, last=None, adult=False, fixNames=False):
super().__init__('StudioKhimera/' + name)
self.baseUrl = 'https://%s.studiokhimera.com/' % sub
self.stripUrl = self.baseUrl + '%s/'
self.url = self.baseUrl + 'category/comicChapter/?latest'
self.multipleImagesPerStrip = True
if last:
self.last = True
self.url = self.stripUrl % last
self.endOfLife = True
if adult:
self.adult = True
def starter(self):
# Retrieve list of chapter links
chapterPage = self.getPage(self.baseUrl + 'archive/')
self.chapters = chapterPage.xpath('//main//a/@href')
self.firstStripUrl = self.chapters[0]
return self.chapters[-1]
def getPrevUrl(self, url, data):
# Select previous chapter from list
index = [i for i, ch in enumerate(self.chapters) if ch == url][0]
if index == 0:
return None
return self.chapters[index - 1]
@classmethod
def getmodules(cls):
return (
cls('Mousechievous', 'mousechievous'),
)

View file

@ -16,14 +16,6 @@ from .common import (ComicControlScraper, WordPressScraper, WordPressSpliced,
WordPressNavi, WordPressWebcomic) WordPressNavi, WordPressWebcomic)
class TailsAndTactics(_ParserScraper):
url = 'http://tailsandtactics.com/comic/'
stripUrl = url + '%s/'
firstStripUrl = stripUrl % '1'
imageSearch = '//div[@class="comic-image"]/img'
prevSearch = '//a[text()=" Back"]'
class TekMage(WordPressNavi): class TekMage(WordPressNavi):
url = 'https://tekmagecomic.com/' url = 'https://tekmagecomic.com/'
stripUrl = url + 'comic/%s/' stripUrl = url + 'comic/%s/'

View file

@ -7,24 +7,6 @@ from ..scraper import ParserScraper, _ParserScraper
from ..helpers import bounceStarter, indirectStarter from ..helpers import bounceStarter, indirectStarter
class VampireHunterBoyfriends(_ParserScraper):
baseUrl = 'https://boneitisindustries.com/'
url = baseUrl + 'comics/vampire-hunter-boyfriends/'
stripUrl = baseUrl + 'comic/%s/'
firstStripUrl = stripUrl % 'vampire-hunter-boyfriends-chapter-1-cover'
imageSearch = '//div[@id="content"]//img[d:class("size-full")]'
prevSearch = '//a[./span[d:class("ticon-chevron-left")]]'
adult = True
def starter(self):
archivePage = self.getPage(self.url)
self.archive = archivePage.xpath('//div[contains(@class, "vcex-portfolio-grid")]//a/@href')
return self.archive[-1]
def getPrevUrl(self, url, data):
return self.archive[self.archive.index(url) - 1]
class Vexxarr(_ParserScraper): class Vexxarr(_ParserScraper):
baseUrl = 'http://www.vexxarr.com/' baseUrl = 'http://www.vexxarr.com/'
url = baseUrl + 'Index.php' url = baseUrl + 'Index.php'

View file

@ -122,7 +122,6 @@ class WebToons(ParserScraper):
cls('CodeAdam', 'action/code-adam', 1657), cls('CodeAdam', 'action/code-adam', 1657),
cls('CookingComically', 'tiptoon/cooking-comically', 622), cls('CookingComically', 'tiptoon/cooking-comically', 622),
cls('Crumbs', 'romance/crumbs', 1648), cls('Crumbs', 'romance/crumbs', 1648),
cls('CrystalVirus', 'challenge/crystal-virus', 347038),
cls('CrystalVirusOtherStory', 'challenge/crystal-virus-other-story', 837028), cls('CrystalVirusOtherStory', 'challenge/crystal-virus-other-story', 837028),
cls('CupidsArrows', 'romance/cupids-arrows', 1538), cls('CupidsArrows', 'romance/cupids-arrows', 1538),
cls('CursedPrincessClub', 'comedy/cursed-princess-club', 1537), cls('CursedPrincessClub', 'comedy/cursed-princess-club', 1537),
@ -311,7 +310,6 @@ class WebToons(ParserScraper):
cls('OmniscientReader', 'action/omniscient-reader', 2154), cls('OmniscientReader', 'action/omniscient-reader', 2154),
cls('ORANGEMARMALADE', 'romance/orange-marmalade', 97), cls('ORANGEMARMALADE', 'romance/orange-marmalade', 97),
cls('Outrage', 'super-hero/outrage', 1450), cls('Outrage', 'super-hero/outrage', 1450),
cls('OVERPOWERED', 'challenge/overpowered', 85292),
cls('PacificRimAmara', 'sf/pacific-rim-amara', 1327), cls('PacificRimAmara', 'sf/pacific-rim-amara', 1327),
cls('PandorasBlogs', 'challenge/pandoras-blogs', 532007), cls('PandorasBlogs', 'challenge/pandoras-blogs', 532007),
cls('PaperRoses', 'challenge/paper-roses', 39736), cls('PaperRoses', 'challenge/paper-roses', 39736),