From 4ccbb288121e5796319762be81cd1ced78628a8d Mon Sep 17 00:00:00 2001 From: ngfchl Date: Mon, 26 Dec 2022 15:23:13 +0800 Subject: [PATCH] =?UTF-8?q?FileList=E8=87=AA=E5=8A=A8=E8=8E=B7=E5=8F=96coo?= =?UTF-8?q?kie=EF=BC=8C=E9=9C=80=E5=9C=A8db=E6=96=87=E4=BB=B6=E5=A4=B9?= =?UTF-8?q?=E4=B8=8B=E5=BB=BA=E7=AB=8B`ptools.yaml`=E6=96=87=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E5=86=99=E5=85=A5Filelist=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=90=8D=EF=BC=88username=EF=BC=89=E5=AF=86=E7=A0=81=EF=BC=88p?= =?UTF-8?q?assword=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pt_site/UtilityTool.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/pt_site/UtilityTool.py b/pt_site/UtilityTool.py index 87b4320..bdb687e 100644 --- a/pt_site/UtilityTool.py +++ b/pt_site/UtilityTool.py @@ -18,6 +18,7 @@ import qbittorrentapi import requests import transmission_rpc import urllib3.util.ssl_ +import yaml from django.db.models import QuerySet from lxml import etree from pypushdeer import PushDeer @@ -1460,6 +1461,41 @@ class PtSpider: # completed_detail_url = site.url + site.page_completed.lstrip('/').format(my_site.user_id) # leeching_detail_url = site.url + site.page_leeching.lstrip('/').format(my_site.user_id) try: + if site.url in [ + 'https://filelist.io/' + ]: + session = requests.Session() + headers = { + 'user-agent': my_site.user_agent + } + res = session.get(url=site.url, headers=headers) + validator = ''.join(self.parse(res, '//input[@name="validator"]/@value')) + login_url = ''.join(self.parse(res, '//form/@action')) + login_method = ''.join(self.parse(res, '//form/@method')) + with open('db/ptools.yaml', 'r') as f: + data = yaml.load(f, Loader=yaml.FullLoader) + filelist = data.get('filelist') + username = filelist.get('username') + password = filelist.get('password') + login_res = session.request( + url=site.url + login_url, + method=login_method, + headers=headers, + data={ + 'validator': validator, + 'username': username, + 'password': password, + 'unlock': 0, + 'returnto': '', + }) + cookies = '' + logger.info(f'res: {login_res.text}') + + logger.info(f'cookies: {session.cookies.get_dict()}') + for key, value in session.cookies.get_dict().items(): + cookies += f'{key}={value};' + my_site.cookie = cookies + my_site.save() # 发送请求,做种信息与正在下载信息,个人主页 if 'wintersakura' in site.url or 'hdchina' in site.url: # 单独发送请求,解决冬樱签到问题