2020-04-18 11:45:44 +00:00
|
|
|
# SPDX-License-Identifier: MIT
|
2016-10-28 22:21:41 +00:00
|
|
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
2014-01-05 15:50:57 +00:00
|
|
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
2020-01-13 06:34:05 +00:00
|
|
|
# Copyright (C) 2015-2020 Tobias Gruetzmacher
|
|
|
|
# Copyright (C) 2019-2020 Daniel Ring
|
2022-12-26 09:28:47 +00:00
|
|
|
from ..scraper import ParserScraper, _ParserScraper
|
2020-07-31 20:56:30 +00:00
|
|
|
from ..helpers import bounceStarter, indirectStarter
|
2012-06-20 19:58:13 +00:00
|
|
|
|
|
|
|
|
2019-07-15 09:33:32 +00:00
|
|
|
class Vexxarr(_ParserScraper):
|
|
|
|
baseUrl = 'http://www.vexxarr.com/'
|
|
|
|
url = baseUrl + 'Index.php'
|
|
|
|
stripUrl = baseUrl + 'archive.php?seldate=%s'
|
|
|
|
firstStripUrl = stripUrl % '010105'
|
|
|
|
imageSearch = '//p/img'
|
|
|
|
prevSearch = '//a[./img[contains(@src, "previous")]]'
|
|
|
|
nextSearch = '//a[./img[contains(@src, "next")]]'
|
|
|
|
starter = bounceStarter
|
|
|
|
|
|
|
|
def namer(self, imageUrl, pageUrl):
|
|
|
|
page = pageUrl.rsplit('=', 1)[-1]
|
|
|
|
return '20%s-%s-%s' % (page[4:6], page[0:2], page[2:4])
|
|
|
|
|
|
|
|
|
2020-09-30 19:37:29 +00:00
|
|
|
class VGCats(_ParserScraper):
|
|
|
|
url = 'https://www.vgcats.com/comics/'
|
2013-02-04 20:00:26 +00:00
|
|
|
stripUrl = url + '?strip_id=%s'
|
2013-04-10 21:57:09 +00:00
|
|
|
firstStripUrl = stripUrl % '0'
|
2020-12-02 07:40:42 +00:00
|
|
|
imageSearch = '//td/img[contains(@src, "images/")]'
|
2020-09-30 19:37:29 +00:00
|
|
|
prevSearch = '//a[img[contains(@src, "back.")]]'
|
2012-06-20 19:58:13 +00:00
|
|
|
help = 'Index format: n (unpadded)'
|
|
|
|
|
|
|
|
|
2019-12-01 01:37:51 +00:00
|
|
|
class VickiFox(_ParserScraper):
|
|
|
|
url = 'http://www.vickifox.com/comic/strip'
|
|
|
|
stripUrl = url + '?id=%s'
|
|
|
|
firstStripUrl = stripUrl % '001'
|
|
|
|
imageSearch = '//img[contains(@src, "comic/")]'
|
|
|
|
prevSearch = '//button[@id="btnPrev"]/@value'
|
|
|
|
|
|
|
|
def getPrevUrl(self, url, data):
|
|
|
|
return self.stripUrl % self.getPage(url).xpath(self.prevSearch)[0]
|
|
|
|
|
|
|
|
|
2016-10-31 05:57:47 +00:00
|
|
|
class ViiviJaWagner(_ParserScraper):
|
2013-02-04 20:00:26 +00:00
|
|
|
url = 'http://www.hs.fi/viivijawagner/'
|
2017-02-12 19:29:57 +00:00
|
|
|
imageSearch = '//meta[@property="og:image"]/@content'
|
2020-07-31 20:56:30 +00:00
|
|
|
prevSearch = '//a[d:class("prev")]'
|
|
|
|
latestSearch = '//div[d:class("cartoon-content")]//a'
|
2017-02-12 19:29:57 +00:00
|
|
|
starter = indirectStarter
|
2015-04-18 20:45:13 +00:00
|
|
|
lang = 'fi'
|
2012-12-07 23:45:18 +00:00
|
|
|
|
2016-04-21 06:20:49 +00:00
|
|
|
def namer(self, image_url, page_url):
|
2017-02-12 19:29:57 +00:00
|
|
|
return page_url.rsplit('-', 1)[1].split('.')[0]
|
2019-07-12 07:46:45 +00:00
|
|
|
|
|
|
|
|
|
|
|
class VirmirWorld(_ParserScraper):
|
|
|
|
url = 'http://world.virmir.com/'
|
|
|
|
stripUrl = url + 'comic.php?story=%s&page=%s'
|
|
|
|
firstStripUrl = stripUrl % ('1', '1')
|
|
|
|
imageSearch = '//div[@class="comic"]//img'
|
|
|
|
prevSearch = '//a[contains(@class, "prev")]'
|
|
|
|
|
|
|
|
def getIndexStripUrl(self, index):
|
|
|
|
index = index.split('-')
|
|
|
|
return self.stripUrl % (index[0], index[1])
|
2022-12-26 09:28:47 +00:00
|
|
|
|
|
|
|
|
|
|
|
class Vreakerz(ParserScraper):
|
|
|
|
url = 'http://vreakerz.angrykitten.nl/'
|
|
|
|
stripUrl = url + 'stories/read/%s'
|
|
|
|
firstStripUrl = stripUrl % '1'
|
|
|
|
imageSearch = '//img[contains(@src, "storypages")]'
|
|
|
|
prevSearch = '//a[@class="btn-prior"]'
|