30 lines
1.1 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
2016-10-03 08:23:40 +02:00
# Copyright 2014-2016 Mike Fährmann
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
"""Extract images and videos from https://8ch.net/"""
2016-10-03 08:23:40 +02:00
from . import chan
2014-10-12 21:56:44 +02:00
2017-02-01 00:53:19 +01:00
2016-10-03 08:23:40 +02:00
class InfinitychanThreadExtractor(chan.ChanThreadExtractor):
"""Extractor for images from threads from 8ch.net"""
2015-11-21 03:13:06 +01:00
category = "8chan"
2016-10-15 23:06:54 +02:00
filename_fmt = "{time}-{filename}{ext}"
2015-11-21 03:13:06 +01:00
pattern = [r"(?:https?://)?(?:www\.)?8ch\.net/([^/]+)/res/(\d+)"]
2017-01-05 00:29:05 +01:00
test = [("https://8ch.net/wh40k/res/1.html", {
"url": "9220c79950d3f9cdd2c0436e816aec6b8342fac1",
"keyword": "df5773339c5864c71b63fc26ca60ea7098b83cb1",
2016-09-19 16:15:27 +02:00
})]
2015-09-07 16:32:20 +02:00
api_url = "https://8ch.net/{board}/res/{thread}.json"
2016-10-15 23:06:54 +02:00
file_url = "https://media.8ch.net/{board}/src/{tim}{ext}"
file_url_v2 = "https://media.8ch.net/file_store/{tim}{ext}"
def build_url(self, post):
fmt = self.file_url if len(post["tim"]) < 64 else self.file_url_v2
return fmt.format_map(post)