#!/usr/bin/env python # -*- coding: utf-8 -*- import re from module.plugins.Crypter import Crypter from module.lib.BeautifulSoup import BeautifulSoup from module.unescape import unescape class RSLayerCom(Crypter): __name__ = "RSLayerCom" __type__ = "container" __pattern__ = r"http://(www\.)?rs-layer.com/directory-" __config__ = [] __version__ = "0.2" __description__ = """RS-Layer.com Container Plugin""" __author_name__ = ("hzpz") __author_mail__ = ("none") def decrypt(self, pyfile): url = pyfile.url src = self.req.load(str(url)) soup = BeautifulSoup(src) captchaTag = soup.find("img", attrs={"id": "captcha_image"}) if captchaTag: captchaUrl = "http://rs-layer.com/" + captchaTag["src"] self.logDebug("Captcha URL: %s" % captchaUrl) result = self.decryptCaptcha(str(captchaUrl), imgtype="png") captchaInput = soup.find("input", attrs={"id": "captcha"}) self.req.lastUrl = url src = self.req.load(str(url), post={'captcha_input': result, 'image_name': captchaTag["src"]}) link_ids = re.findall(r"onclick=\"getFile\(\'([0-9]{7}-.{8})\'\);changeBackgroundColor", src) if not len(link_ids) > 0: self.retry() self.correctCaptcha() links = [] for id in link_ids: self.logDebug("ID: %s" % id) new_link = unescape(re.search(r"