跟随学校升级二升级部分代码,目前无法突破CF二代盾,暂无法签到

This commit is contained in:
ngfchl
2022-11-02 15:14:35 +08:00
parent 6ff69cba6b
commit 07e792122c
4 changed files with 140 additions and 136 deletions

View File

@@ -1,15 +1,12 @@
import json
import logging
import os
import socket
import subprocess
import time
from datetime import datetime, timedelta, date
from uuid import UUID
from datetime import datetime, timedelta
import docker
import git
import numpy as np
import qbittorrentapi
from django.http import JsonResponse
from django.shortcuts import render
@@ -371,6 +368,9 @@ def exec_command(commands):
def do_update(request):
try:
logger.info('开始更新')
bt_school = Site.objects.filter(url=' http://47.242.110.63/').first()
bt_school.url = 'https://pt.btschool.club/'
bt_school.save()
pt_site_site_mtime = os.stat('pt_site_site.json').st_mtime
requirements_mtime = os.stat('requirements.txt').st_mtime
update_commands = {

232
pt.json
View File

@@ -2611,14 +2611,14 @@
"pk": 40,
"fields": {
"created_at": "2022-08-14T09:14:51.194",
"updated_at": "2022-10-31T23:21:46.890",
"updated_at": "2022-11-02T13:01:16.325",
"url": "https://iptorrents.com/",
"name": "ipt",
"logo": "https://iptorrents.com/favicon.ico",
"tracker": "iptorrents.com",
"sign_in_support": false,
"get_torrent_support": false,
"get_userinfo_support": false,
"get_userinfo_support": true,
"search_support": false,
"page_default": "t",
"page_sign_in": "attendance.php",
@@ -4823,8 +4823,8 @@
"pk": 70,
"fields": {
"created_at": "2022-07-17T10:24:59.754",
"updated_at": "2022-10-31T23:21:36.954",
"url": "http://47.242.110.63/",
"updated_at": "2022-11-02T14:57:10.490",
"url": "https://pt.btschool.club/",
"name": "BT学校",
"logo": "https://pt.btschool.club/favicon.ico",
"tracker": "btschool.club",
@@ -4833,7 +4833,7 @@
"get_userinfo_support": true,
"search_support": false,
"page_default": "torrents.php",
"page_sign_in": "index.php?action=addbonus",
"page_sign_in": "attendance.php",
"page_control_panel": "usercp.php",
"page_detail": "details.php?id={}",
"page_download": "download.php?id={}",
@@ -4891,7 +4891,7 @@
"leech_rule": "//img[@class=\"arrowdown\"][1]/following-sibling::text()[1]",
"seed_rule": "//img[@class=\"arrowup\"][1]/following-sibling::text()[1]",
"record_count_rule": "/html/body/b/text()",
"seed_vol_rule": "//tr/td[3]",
"seed_vol_rule": "//tr/td[4]",
"mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]",
"notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]",
"hash_rule": "//tr[13]/td[2]/table/tbody/tr/td[1]/text()"
@@ -4923,16 +4923,16 @@
"page_seeding": "getusertorrentlistajax.php?userid={}&type=seeding",
"page_completed": "getusertorrentlistajax.php?userid={}&type=completed",
"page_mybonus": "mybonus.php",
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": true,
"hr_rate": 1,
"hr_time": 24,
"sp_full": 100.0,
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": true,
"hr_rate": 1,
"hr_time": 24,
"sp_full": 100.0,
"limit_speed": 100,
"torrents_rule": "//table[@class=\"torrents\"]/tr",
"name_rule": ".//td[@class=\"embedded\"]/a/b/text()",
@@ -5002,16 +5002,16 @@
"page_seeding": "Torrents/mySeed",
"page_completed": "getusertorrentlistajax.php?userid={}&type=completed",
"page_mybonus": "Points",
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": false,
"hr_rate": 2,
"hr_time": 10,
"sp_full": 100.0,
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": false,
"hr_rate": 2,
"hr_time": 10,
"sp_full": 100.0,
"limit_speed": 100,
"torrents_rule": "//table[@class=\"torrents\"]/tr",
"name_rule": ".//td[@class=\"embedded\"]/a/b/text()",
@@ -5081,16 +5081,16 @@
"page_seeding": "getusertorrentlistajax.php?userid={}&type=seeding",
"page_completed": "getusertorrentlistajax.php?userid={}&type=completed",
"page_mybonus": "mybonus.php",
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": true,
"hr_rate": 1,
"hr_time": 24,
"sp_full": 100.0,
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": true,
"hr_rate": 1,
"hr_time": 24,
"sp_full": 100.0,
"limit_speed": 100,
"torrents_rule": "//table[@class=\"torrents\"]/tr",
"name_rule": ".//td[@class=\"embedded\"]/a/b/text()",
@@ -5173,26 +5173,26 @@
"limit_speed": 100,
"torrents_rule": "//table[@class=\"torrents\"]/tr",
"name_rule": ".//td[@class=\"embedded\"]/a/b/text()",
"title_rule": ".//a[contains(@href,\"detail\")]/parent::td/text()[last()]",
"detail_url_rule": ".//td[@class=\"embedded\"]/a[contains(@href,\"detail\")]/@href",
"category_rule": ".//td[@class=\"rowfollow nowrap\"][1]/a[1]/img/@title",
"poster_rule": ".//table/tr/td[1]/img/@src",
"magnet_url_rule": ".//td/a[contains(@href,\"download.php?id=\")]/@href",
"download_url_rule": ".//a[contains(@href,\"download.php?id=\") and contains(@href,\"passkey\")]/@href",
"size_rule": ".//td[5]/text()",
"hr_rule": ".//table/tr/td/img[@class=\"hitandrun\"]/@title",
"sale_rule": ".//img[contains(@class,\"free\")]/@alt",
"sale_expire_rule": ".//img[contains(@class,\"free\")]/following-sibling::font/span/@title",
"release_rule": ".//td[4]/span/@title",
"seeders_rule": ".//a[contains(@href,\"#seeders\")]/text()",
"leechers_rule": ".//a[contains(@href,\"#leechers\")]/text()",
"completers_rule": ".//a[contains(@href,\"viewsnatches\")]//text()",
"viewfilelist_rule": ".//td/text()",
"viewpeerlist_rule": ".//tr/td[9]/nobr/text()",
"peer_speed_rule": ".//tr/td[7]/nobr/text()",
"remark": "",
"invitation_rule": "//span/a[contains(@href,\"invite.php?id=\")]/following-sibling::text()[1]",
"time_join_rule": "//td[contains(text(),\"加入\")]/following-sibling::td/span/@title",
"title_rule": ".//a[contains(@href,\"detail\")]/parent::td/text()[last()]",
"detail_url_rule": ".//td[@class=\"embedded\"]/a[contains(@href,\"detail\")]/@href",
"category_rule": ".//td[@class=\"rowfollow nowrap\"][1]/a[1]/img/@title",
"poster_rule": ".//table/tr/td[1]/img/@src",
"magnet_url_rule": ".//td/a[contains(@href,\"download.php?id=\")]/@href",
"download_url_rule": ".//a[contains(@href,\"download.php?id=\") and contains(@href,\"passkey\")]/@href",
"size_rule": ".//td[5]/text()",
"hr_rule": ".//table/tr/td/img[@class=\"hitandrun\"]/@title",
"sale_rule": ".//img[contains(@class,\"free\")]/@alt",
"sale_expire_rule": ".//img[contains(@class,\"free\")]/following-sibling::font/span/@title",
"release_rule": ".//td[4]/span/@title",
"seeders_rule": ".//a[contains(@href,\"#seeders\")]/text()",
"leechers_rule": ".//a[contains(@href,\"#leechers\")]/text()",
"completers_rule": ".//a[contains(@href,\"viewsnatches\")]//text()",
"viewfilelist_rule": ".//td/text()",
"viewpeerlist_rule": ".//tr/td[9]/nobr/text()",
"peer_speed_rule": ".//tr/td[7]/nobr/text()",
"remark": "",
"invitation_rule": "//span/a[contains(@href,\"invite.php?id=\")]/following-sibling::text()[1]",
"time_join_rule": "//td[contains(text(),\"加入\")]/following-sibling::td/span/@title",
"latest_active_rule": "//td[contains(text(),\"最近动向\")]/following-sibling::td/span/@title",
"uploaded_rule": "//font[@class=\"color_uploaded\"]/following-sibling::text()[1]",
"downloaded_rule": "//font[@class=\"color_downloaded\"]/following-sibling::text()[1]",
@@ -5239,16 +5239,16 @@
"page_seeding": "getusertorrentlistajax.php?userid={}&type=seeding",
"page_completed": "getusertorrentlistajax.php?userid={}&type=completed",
"page_mybonus": "mybonus.php",
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": false,
"hr_rate": 2,
"hr_time": 10,
"sp_full": 100.0,
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": false,
"hr_rate": 2,
"hr_time": 10,
"sp_full": 100.0,
"limit_speed": 100,
"torrents_rule": "//table[@class=\"torrents\"]/tr",
"name_rule": ".//td[@class=\"embedded\"]/a/b/text()",
@@ -5318,16 +5318,16 @@
"page_seeding": "getusertorrentlistajax.php?userid={}&type=seeding",
"page_completed": "getusertorrentlistajax.php?userid={}&type=completed",
"page_mybonus": "mybonus.php",
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": false,
"hr_rate": 2,
"hr_time": 10,
"sp_full": 100.0,
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": false,
"hr_rate": 2,
"hr_time": 10,
"sp_full": 100.0,
"limit_speed": 100,
"torrents_rule": "//table[@class=\"torrents\"]/tr",
"name_rule": ".//td[@class=\"embedded\"]/a/b/text()",
@@ -5397,16 +5397,16 @@
"page_seeding": "getusertorrentlistajax.php?userid={}&type=seeding",
"page_completed": "getusertorrentlistajax.php?userid={}&type=completed",
"page_mybonus": "mybonus.php",
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": true,
"hr_rate": 1,
"hr_time": 24,
"sp_full": 100.0,
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": true,
"hr_rate": 1,
"hr_time": 24,
"sp_full": 100.0,
"limit_speed": 100,
"torrents_rule": "//table[@class=\"torrents\"]/tr",
"name_rule": ".//td[@class=\"embedded\"]/a/b/text()",
@@ -5476,16 +5476,16 @@
"page_seeding": "getusertorrentlistajax.php?userid={}&type=seeding",
"page_completed": "getusertorrentlistajax.php?userid={}&type=completed",
"page_mybonus": "mybonus.php",
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": false,
"hr_rate": 2,
"hr_time": 10,
"sp_full": 100.0,
"page_viewfilelist": "viewfilelist.php?id={}",
"page_viewpeerlist": "viewpeerlist.php?id={}",
"sign_in_method": "get",
"sign_in_captcha": false,
"sign_in_params": "{}",
"sign_in_headers": "{}",
"hr": false,
"hr_rate": 2,
"hr_time": 10,
"sp_full": 100.0,
"limit_speed": 100,
"torrents_rule": "//table[@class=\"torrents\"]/tr",
"name_rule": ".//td[@class=\"embedded\"]/a/b/text()",
@@ -5500,16 +5500,16 @@
"sale_rule": ".//img[contains(@class,\"free\")]/@alt",
"sale_expire_rule": ".//img[contains(@class,\"free\")]/following-sibling::font/span/@title",
"release_rule": ".//td[4]/span/@title",
"seeders_rule": ".//a[contains(@href,\"#seeders\")]/text()",
"leechers_rule": ".//a[contains(@href,\"#leechers\")]/text()",
"completers_rule": ".//a[contains(@href,\"viewsnatches\")]//text()",
"viewfilelist_rule": ".//td/text()",
"viewpeerlist_rule": ".//tr/td[9]/nobr/text()",
"peer_speed_rule": ".//tr/td[7]/nobr/text()",
"remark": "",
"invitation_rule": "//span/a[contains(@href,\"invite.php?id=\")]/following-sibling::text()[1]",
"time_join_rule": "//td[contains(text(),\"加入\")]/following-sibling::td/span/@title",
"latest_active_rule": "//td[contains(text(),\"最近动向\")]/following-sibling::td/span/@title",
"seeders_rule": ".//a[contains(@href,\"#seeders\")]/text()",
"leechers_rule": ".//a[contains(@href,\"#leechers\")]/text()",
"completers_rule": ".//a[contains(@href,\"viewsnatches\")]//text()",
"viewfilelist_rule": ".//td/text()",
"viewpeerlist_rule": ".//tr/td[9]/nobr/text()",
"peer_speed_rule": ".//tr/td[7]/nobr/text()",
"remark": "",
"invitation_rule": "//span/a[contains(@href,\"invite.php?id=\")]/following-sibling::text()[1]",
"time_join_rule": "//td[contains(text(),\"加入\")]/following-sibling::td/span/@title",
"latest_active_rule": "//td[contains(text(),\"最近动向\")]/following-sibling::td/span/@title",
"uploaded_rule": "//font[@class=\"color_uploaded\"]/following-sibling::text()[1]",
"downloaded_rule": "//font[@class=\"color_downloaded\"]/following-sibling::text()[1]",
"ratio_rule": "//font[@class=\"color_ratio\"][1]/following-sibling::text()[1]",
@@ -5629,16 +5629,16 @@
}
},
{
"model": "auto_pt.task",
"pk": 3,
"fields": {
"created_at": "2022-08-05T23:52:19.671",
"updated_at": "2022-10-15T09:05:50.374",
"name": "auto_remove_expire_torrents",
"desc": "删除过期种子"
}
},
{
"model": "auto_pt.task",
"pk": 3,
"fields": {
"created_at": "2022-08-05T23:52:19.671",
"updated_at": "2022-10-15T09:05:50.374",
"name": "auto_remove_expire_torrents",
"desc": "删除过期种子"
}
},
{
"model": "auto_pt.task",
"pk": 4,
"fields": {

View File

@@ -85,7 +85,7 @@ class PtSpider:
"""爬虫"""
def __init__(self, browser='chrome', platform='darwin',
user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.27',
user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.28',
*args, **kwargs):
self.browser = browser
self.platform = platform
@@ -1346,19 +1346,24 @@ class PtSpider:
details_html = etree.HTML(converter.convert(user_detail_res.content))
if 'btschool' in site.url:
text = details_html.xpath('//script/text()')
logger.info('学校:{}'.format(text))
if len(text) > 0:
location = self.parse_school_location(text)
logger.info('学校重定向链接:{}'.format(location))
if '__SAKURA' in location:
res = self.send_request(my_site=my_site, url=site.url + location.lstrip('/'), delay=25)
details_html = etree.HTML(res.text)
# logger.info(res.content)
try:
location = self.parse_school_location(text)
logger.info('学校重定向链接:{}'.format(location))
if '__SAKURA' in location:
res = self.send_request(my_site=my_site, url=site.url + location.lstrip('/'), delay=25)
details_html = etree.HTML(res.text)
# logger.info(res.content)
except Exception as e:
logger.info('BT学校获取做种信息有误')
pass
seeding_detail_res = self.send_request(my_site=my_site, url=seeding_detail_url, delay=25)
# leeching_detail_res = self.send_request(my_site=my_site, url=leeching_detail_url, timeout=25)
if seeding_detail_res.status_code != 200:
return CommonResponse.error(
status=StatusCodeEnum.WEB_CONNECT_ERR,
msg=site.name + '做种信息访问错误,错误码:' + str(seeding_detail_res.status_code)
msg='{} 做种信息访问错误,错误码:{}'.format(site.name, str(seeding_detail_res.status_code))
)
seeding_html = etree.HTML(converter.convert(seeding_detail_res.text))
# leeching_html = etree.HTML(leeching_detail_res.text)
@@ -1619,7 +1624,7 @@ class PtSpider:
my_site=my_site,
url=site.url + site.page_mybonus,
)
"""
print(response.content.decode('utf8'))
if 'btschool' in site.url:
# logger.info(response.content.decode('utf8'))
url = self.parse(response, '//form[@id="challenge-form"]/@action[1]')
@@ -1637,7 +1642,6 @@ class PtSpider:
data=data,
delay=60
)
"""
res = converter.convert(response.content)
# logger.info('时魔响应:{}'.format(response.content))
# logger.info('转为简体的时魔页面:', str(res))

View File

@@ -2510,13 +2510,13 @@
{
"id": 40,
"created_at": "2022-08-14 09:14:51.194000",
"updated_at": "2022-10-31 23:21:46.890401",
"updated_at": "2022-11-02 13:01:16.325710",
"name": "ipt",
"url": "https://iptorrents.com/",
"logo": "https://iptorrents.com/favicon.ico",
"sign_in_support": 0,
"get_torrent_support": 0,
"get_userinfo_support": 0,
"get_userinfo_support": 1,
"search_support": 0,
"page_default": "t",
"page_sign_in": "attendance.php",
@@ -4638,16 +4638,16 @@
{
"id": 70,
"created_at": "2022-07-17 10:24:59.754000",
"updated_at": "2022-10-31 23:21:36.954234",
"updated_at": "2022-11-02 14:57:10.490834",
"name": "BT学校",
"url": "http://47.242.110.63/",
"url": "https://pt.btschool.club/",
"logo": "https://pt.btschool.club/favicon.ico",
"sign_in_support": 1,
"get_torrent_support": 1,
"get_userinfo_support": 1,
"search_support": 0,
"page_default": "torrents.php",
"page_sign_in": "index.php?action=addbonus",
"page_sign_in": "attendance.php",
"page_detail": "details.php?id={}",
"page_download": "download.php?id={}",
"page_user": "userdetails.php?id={}",
@@ -4702,7 +4702,7 @@
"leech_rule": "//img[@class=\"arrowdown\"][1]/following-sibling::text()[1]",
"seed_rule": "//img[@class=\"arrowup\"][1]/following-sibling::text()[1]",
"record_count_rule": "/html/body/b/text()",
"seed_vol_rule": "//tr/td[3]",
"seed_vol_rule": "//tr/td[4]",
"mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]",
"hash_rule": "//tr[13]/td[2]/table/tbody/tr/td[1]/text()",
"notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]",