From ed01e06cd62a4f2c82106f294325e2a43c8e55ca Mon Sep 17 00:00:00 2001 From: ngfchl Date: Tue, 27 Dec 2022 15:22:28 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BC=98=E5=8C=96=E9=83=A8=E5=88=86?= =?UTF-8?q?=E7=AB=99=E7=82=B9=E5=81=9A=E7=A7=8D=E4=BD=93=E7=A7=AF=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=EF=BC=8C=E5=87=8F=E5=B0=91=E7=BD=91=E7=AB=99=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E6=AC=A1=E6=95=B0=202.=20=E6=94=AF=E6=8C=81oldtoons?= =?UTF-8?q?=EF=BC=8Creelflix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pt.json | 224 +++++++++++++++++++++++++++++++++++------ pt_site/UtilityTool.py | 95 +++++++++++++---- pt_site_site.json | 218 +++++++++++++++++++++++++++++++++------ static/js/utils.js | 2 +- 4 files changed, 450 insertions(+), 89 deletions(-) diff --git a/pt.json b/pt.json index fb3109c..69f6eda 100644 --- a/pt.json +++ b/pt.json @@ -72,7 +72,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font/text()[1]", "hash_rule": "//tr[10]//td[@class=\"no_border_wide\"][2]/text()" @@ -83,7 +83,7 @@ "pk": 2, "fields": { "created_at": "2022-07-17T10:24:21.376", - "updated_at": "2022-12-25T21:43:37.096", + "updated_at": "2022-12-27T13:37:28.767", "url": "https://piggo.me/", "name": "猪猪网", "logo": "https://piggo.me/favicon.ico", @@ -151,7 +151,7 @@ "leech_rule": "//img[@class=\"arrowdown\"][1]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"][1]/following-sibling::text()[1]", "record_count_rule": "//tr/td[4]", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@id=\"messages1\"]/font/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -230,7 +230,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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()" @@ -467,7 +467,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font/text()[1]", "hash_rule": "//tr[13]/td[2]/table/tbody/tr/td[1]/text()" @@ -625,7 +625,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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()" @@ -783,7 +783,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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()" @@ -794,7 +794,7 @@ "pk": 15, "fields": { "created_at": "2022-07-20T10:12:13.107", - "updated_at": "2022-12-25T21:43:37.135", + "updated_at": "2022-12-27T13:41:22.750", "url": "http://hdmayi.com/", "name": "蚂蚁", "logo": "http://hdmayi.com/favicon.ico", @@ -862,7 +862,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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()" @@ -873,7 +873,7 @@ "pk": 16, "fields": { "created_at": "2022-07-20T10:13:15.407", - "updated_at": "2022-12-25T21:43:37.138", + "updated_at": "2022-12-27T13:43:23.878", "url": "https://pt.0ff.cc/", "name": "农场", "logo": "https://pt.0ff.cc/favicon.ico", @@ -941,7 +941,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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()" @@ -1336,7 +1336,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": "//td[contains(text(),\"做种统计\")]/following-sibling::td/text()", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font/text()[1]", "hash_rule": "//tr[13]/td[2]/table/tbody/tr/td[1]/text()" @@ -1731,7 +1731,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": "//br/preceding-sibling::text()[1]", "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()" @@ -1810,7 +1810,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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()" @@ -1968,7 +1968,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": "//br/preceding-sibling::text()[1]", "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()" @@ -2442,7 +2442,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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()" @@ -2521,7 +2521,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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[10]//td[@class=\"no_border_wide\"][2]/text()" @@ -2758,7 +2758,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[4]", + "seed_vol_rule": "//table/preceding-sibling::text()[1]", "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[11]//td[@class=\"no_border_wide\"][2]/text()" @@ -2995,7 +2995,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": "//tr/td[3]", - "seed_vol_rule": "//tr/td[3]", + "seed_vol_rule": "//td[contains(text(),\"当前做种\")]/following-sibling::td/text()", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -3074,7 +3074,7 @@ "leech_rule": "//img[@class=\"arrowdown\"][1]/following-sibling::text()[1]", "seed_rule": "//a[contains(@href,\"#seedlist\")]//text()", "record_count_rule": "/html/body/b/text()", - "seed_vol_rule": "//tr/td[3]", + "seed_vol_rule": "//table/preceding-sibling::br/preceding-sibling::text()[1]", "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[11]//td[@class=\"no_border_wide\"][2]/text()" @@ -3085,7 +3085,7 @@ "pk": 46, "fields": { "created_at": "2022-08-26T20:53:50.259", - "updated_at": "2022-12-25T21:43:37.247", + "updated_at": "2022-12-27T14:49:33.710", "url": "https://totheglory.im/", "name": "TTG", "logo": "https://totheglory.im/favicon.ico", @@ -3103,7 +3103,7 @@ "page_search": "browse.php?search_field={}&c=M", "page_leeching": "getusertorrentlistajax.php?userid={}&type=leeching", "page_uploaded": "getusertorrentlistajax.php?userid={}&type=uploaded", - "page_seeding": "getusertorrentlistajax.php?userid={}&type=seeding", + "page_seeding": "mybonus.php?id={}", "page_completed": "getusertorrentlistajax.php?userid={}&type=completed", "page_mybonus": "mybonus.php", "page_viewfilelist": "viewfilelist.php?id={}", @@ -3153,7 +3153,7 @@ "leech_rule": "//img[contains(@title,\"下载中\")]/following-sibling::font[1]/span/text()[1]", "seed_rule": "//img[contains(@title,\"做种中\")]/following-sibling::font[1]/span/text()[1]", "record_count_rule": "/html/body/b/text()", - "seed_vol_rule": ".//tr/td[4]", + "seed_vol_rule": "//p/u[1]/text()", "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[11]//td[@class=\"no_border_wide\"][2]/text()" @@ -4101,7 +4101,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[3]", + "seed_vol_rule": "//br/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td[@class=\"no_border_wide\"]/b[contains(text(),\"Hash 码:\")]/following::text()[1]" @@ -4338,7 +4338,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -4654,7 +4654,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -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": "//td[contains(text(),\"当前做种\")]/following-sibling::td/text()", "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()" @@ -4970,7 +4970,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -5365,7 +5365,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[3]", + "seed_vol_rule": "//br/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -5444,7 +5444,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -5602,7 +5602,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -5692,7 +5692,7 @@ "pk": 82, "fields": { "created_at": "2022-11-08T09:18:21.489", - "updated_at": "2022-12-25T21:43:37.368", + "updated_at": "2022-12-27T13:34:54.115", "url": "https://xinglin.one/", "name": "杏林", "logo": "https://xinglin.one/favicon.ico", @@ -5760,7 +5760,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" @@ -6793,6 +6793,164 @@ "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" } }, +{ + "model": "pt_site.site", + "pk": 100, + "fields": { + "created_at": "2022-12-27T12:40:22.412", + "updated_at": "2022-12-27T13:25:13.277", + "url": "https://oldtoons.world/", + "name": "Oldtoons", + "logo": "https://oldtoons.world/favicon.ico", + "tracker": "oldtoons.world", + "sign_in_support": true, + "get_torrent_support": true, + "get_userinfo_support": true, + "search_support": false, + "page_default": "torrents.php", + "page_sign_in": "attendance.php", + "page_control_panel": "usercp.php", + "page_detail": "details.php?id={}", + "page_download": "download.php?id={}", + "page_user": "userdetails.php?id={}", + "page_search": "torrents.php?search={}", + "page_leeching": "getusertorrentlistajax.php?userid={}&type=leeching", + "page_uploaded": "getusertorrentlistajax.php?userid={}&type=uploaded", + "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, + "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(),\"Join\")]/following-sibling::td/span/@title", + "latest_active_rule": "//td[contains(text(),\"Last\")]/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]", + "my_sp_rule": "//a[@href=\"mybonus.php\"]/following-sibling::text()[1]", + "hour_sp_rule": "//h1[contains(text(),\"Total bonus gained per hour\")]/following::table[1]//tr[2]/td[last()]/text()", + "my_bonus_rule": "//font[@class=\"color_bonus\" and contains(text(),\"积分\")]/following-sibling::text()[1]", + "my_level_rule": "//table[@id=\"info_block\"]//span/a[contains(@class,\"_Name\") and contains(@href,\"userdetails.php?id=\")]/@class", + "my_passkey_rule": "//td[contains(text(),\"Passkey\")]/following-sibling::td[1]/text()", + "my_uid_rule": "//table[@id=\"info_block\"]//span/a[contains(@class,\"_Name\") and contains(@href,\"userdetails.php?id=\")]/@href", + "my_hr_rule": "//a[@href=\"myhr.php\"]//text()", + "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", + "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", + "record_count_rule": ".//td[3]/text()", + "seed_vol_rule": "//div[contains(text(),'Total size')]/text()", + "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"new\")]/text()[1]", + "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"new\")]/text()[1]", + "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" + } +}, +{ + "model": "pt_site.site", + "pk": 101, + "fields": { + "created_at": "2022-12-27T12:56:12.440", + "updated_at": "2022-12-27T12:58:34.654", + "url": "https://reelflix.xyz/", + "name": "Reelflix", + "logo": "https://reelflix.xyz/favicon.ico", + "tracker": "reelflix.xyz", + "sign_in_support": false, + "get_torrent_support": true, + "get_userinfo_support": true, + "search_support": false, + "page_default": "torrents?perPage=100&free[0]=100", + "page_sign_in": "attendance.php", + "page_control_panel": "usercp.php", + "page_detail": "details.php?id={}", + "page_download": "download.php?id={}", + "page_user": "users/{}", + "page_search": "torrents.php?search={}", + "page_leeching": "getusertorrentlistajax.php?userid={}&type=leeching", + "page_uploaded": "getusertorrentlistajax.php?userid={}&type=uploaded", + "page_seeding": "users/{}", + "page_completed": "getusertorrentlistajax.php?userid={}&type=completed", + "page_mybonus": "users/{}/bonus/earnings", + "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()", + "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": "//td[contains(text(),\"邀请\") and not(contains(text(),\"可以\"))]/following-sibling::td/span/text()", + "time_join_rule": "//div[@class=\"header gradient blue\"]//h4[2]/text()", + "latest_active_rule": "//td[contains(text(),\" 上次登录时间\")]/following-sibling::td/text()", + "uploaded_rule": "//li[@title=\"上传\"]/text()", + "downloaded_rule": "//li[@title=\"下载\"]/text()", + "ratio_rule": "//li[@title=\"分享率\"]/a/text()", + "my_sp_rule": "//li[@title=\"我的魔力\"]/a/text()", + "hour_sp_rule": "//dt[contains(text(),\"每小时点数\")]/following-sibling::dd[1]/text()[1]", + "my_bonus_rule": "//font[@class=\"color_bonus\" and contains(text(),\"积分\")]/following-sibling::text()[1]", + "my_level_rule": "//div[@class=\"header gradient blue\"]//h4[1]/span/text()", + "my_passkey_rule": "//span[@class=\"text-monospace\"]/text()", + "my_uid_rule": "//div[@class=\"header gradient blue\"]//h2/text()[1]", + "my_hr_rule": "//strong[contains(text(),\"有效\")]/text()", + "leech_rule": "//li[@title=\"吸血\"]/a/text()", + "seed_rule": "//li[@title=\"做种\"]/a/text()", + "record_count_rule": ".//td[3]/text()", + "seed_vol_rule": "//td[contains(text(),\"做种体积\")]/following-sibling::td[1]//text()[1]", + "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", + "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", + "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]" + } +}, { "model": "auto_pt.task", "pk": 1, diff --git a/pt_site/UtilityTool.py b/pt_site/UtilityTool.py index abb909b..6ceb7cd 100644 --- a/pt_site/UtilityTool.py +++ b/pt_site/UtilityTool.py @@ -1552,14 +1552,15 @@ class PtSpider: logger.info(f'个人主页:{user_detail_res.content}') # 解析HTML # logger.info(user_detail_res.is_redirect) - if 'totheglory' in site.url: - # ttg的信息都是直接加载的,不需要再访问其他网页,直接解析就好 - details_html = etree.HTML(user_detail_res.content) - seeding_html = details_html.xpath('//div[@id="ka2"]/table')[0] - elif 'greatposterwall' in site.url or 'dicmusic' in site.url: + if 'greatposterwall' in site.url or 'dicmusic' in site.url: details_html = user_detail_res.json() seeding_html = self.send_request(my_site=my_site, url=site.url + site.page_mybonus).json() - elif 'lemonhd.org' in site.url: + elif site.url in [ + 'https://lemonhd.org/', + 'https://www.htpt.cc/', + 'https://pt.btschool.club/', + 'https://pt.keepfrds.com/', + ]: logger.info(site.url) details_html = etree.HTML(converter.convert(user_detail_res.text)) seeding_html = details_html @@ -1599,7 +1600,12 @@ class PtSpider: seeding_html = seeding_detail_res.json() logger.info(f'白兔做种信息:{seeding_html}') else: - details_html = etree.HTML(converter.convert(user_detail_res.text)) + if 'totheglory' in site.url: + # ttg的信息都是直接加载的,不需要再访问其他网页,直接解析就好 + details_html = etree.HTML(user_detail_res.content) + # seeding_html = details_html.xpath('//div[@id="ka2"]/table')[0] + else: + details_html = etree.HTML(converter.convert(user_detail_res.text)) if 'btschool' in site.url: text = details_html.xpath('//script/text()') @@ -1839,28 +1845,71 @@ class PtSpider: logger.info('做种数量seeding_vol:{}'.format(seed_vol_list)) except: pass - if 'lemonhd.org' in site.url: + if site.url in [ + 'https://lemonhd.org/', + 'https://oldtoons.world/', + 'https://xinglin.one/', + 'https://piggo.me/', + 'http://hdmayi.com/', + 'https://pt.0ff.cc/', + 'https://1ptba.com/', + 'https://hdtime.org/', + 'https://hhanclub.top/', + 'https://pt.eastgame.org/', + 'https://wintersakura.net/', + 'https://gainbound.net/', + 'http://pt.tu88.men/', + 'https://srvfi.top/', + 'https://www.hddolby.com/', + 'https://gamegamept.cn/', + 'https://hdatmos.club/', + 'https://hdfans.org/', + 'https://audiences.me/', + 'https://www.nicept.net/', + 'https://u2.dmhy.org/', + 'https://hdpt.xyz/', + 'https://www.icc2022.com/', + 'http://leaves.red/', + 'https://www.htpt.cc/', + 'https://pt.btschool.club/', + 'https://azusa.wiki/', + ]: + # 获取到的是整段,需要解析 logger.info('做种体积:{}'.format(seed_vol_list)) - seed_vol_size = ''.join(seed_vol_list).split(':')[-1].strip() + seeding_str = ''.join( + seed_vol_list + ).replace('\xa0', ':').replace('i', '') + logger.info('做种信息字符串:{}'.format(seeding_str)) + if ':' in seeding_str: + seed_vol_size = seeding_str.split(':')[-1].strip() + if ':' in seeding_str: + seed_vol_size = seeding_str.split(':')[-1].strip() + if ' ' in seeding_str: + seed_vol_size = seeding_str.split(' ')[-1].strip() seed_vol_all = FileSizeConvert.parse_2_byte(seed_vol_size) + elif site.url in [ + 'https://monikadesign.uk/', + 'https://pt.hdpost.top/', + 'https://reelflix.xyz/', + 'https://hd-torrents.org/', + 'https://filelist.io/', + 'https://www.pttime.org/', + 'https://totheglory.im/', + 'https://pt.keepfrds.com/', + ]: + # 无需解析字符串 + seed_vol_size = ''.join( + seeding_html.xpath(site.seed_vol_rule) + ).replace('i', '').replace(' ', ' ') + seed_vol_all = FileSizeConvert.parse_2_byte(seed_vol_size) + logger.info(f'做种信息: {seed_vol_all}') elif 'club.hares.top' in site.url: logger.info(f'白兔做种信息:{seeding_html}') seed_vol_size = seeding_html.get('size') logger.info(f'白兔做种信息:{seed_vol_size}') seed_vol_all = FileSizeConvert.parse_2_byte(seed_vol_size) logger.info(f'白兔做种信息:{seed_vol_all}') - elif site.url in [ - 'https://monikadesign.uk/', - 'https://pt.hdpost.top/', - 'https://hd-torrents.org/', - 'https://filelist.io/', - 'https://www.pttime.org/', - ]: - seed_vol_size = ''.join( - seeding_html.xpath(site.seed_vol_rule) - ).replace('i', '').replace(' ', ' ') - seed_vol_all = FileSizeConvert.parse_2_byte(seed_vol_size) - logger.info(f'做种信息: {seed_vol_all}') + else: if len(seed_vol_list) > 0 and site.url not in [ 'https://nextpt.net/' @@ -1910,7 +1959,7 @@ class PtSpider: # leech = self.get_user_torrent(leeching_html, site.leech_rule) # seed = self.get_user_torrent(seeding_html, site.seed_rule) logger.info(f'下载数目字符串:{details_html.xpath(site.leech_rule)}') - logger.info(f'下上传数目字符串:{details_html.xpath(site.seed_rule)}') + logger.info(f'上传数目字符串:{details_html.xpath(site.seed_rule)}') leech = re.sub(r'\D', '', ''.join(details_html.xpath(site.leech_rule)).strip()) logger.info(f'当前下载数:{leech}') seed = ''.join(details_html.xpath(site.seed_rule)).strip() @@ -1948,6 +1997,7 @@ class PtSpider: if site.url in [ 'https://monikadesign.uk/', 'https://pt.hdpost.top/', + 'https://reelflix.xyz/', ]: time_str = ''.join(details_html.xpath(site.time_join_rule)) time_str = re.sub(u"[\u4e00-\u9fa5]", "", time_str).strip() @@ -2161,6 +2211,7 @@ class PtSpider: if site.url in [ 'https://monikadesign.uk/', 'https://pt.hdpost.top/', + 'https://reelflix.xyz/', 'https://exoticaz.to/', 'https://cinemaz.to/', 'https://avistaz.to/', diff --git a/pt_site_site.json b/pt_site_site.json index c568bcc..bc7cabb 100644 --- a/pt_site_site.json +++ b/pt_site_site.json @@ -66,7 +66,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//tr[10]//td[@class=\"no_border_wide\"][2]/text()", "notice_rule": "//a[@href=\"index.php\"]/font/text()[1]", @@ -78,7 +78,7 @@ { "id": 2, "created_at": "2022-07-17 10:24:21.376000", - "updated_at": "2022-12-25 21:43:37.096219", + "updated_at": "2022-12-27 13:37:28.767532", "name": "猪猪网", "url": "https://piggo.me/", "logo": "https://piggo.me/favicon.ico", @@ -142,7 +142,7 @@ "leech_rule": "//img[@class=\"arrowdown\"][1]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"][1]/following-sibling::text()[1]", "record_count_rule": "//tr/td[4]", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@id=\"messages1\"]/font/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -218,7 +218,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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]", @@ -446,7 +446,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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/text()[1]", @@ -598,7 +598,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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]", @@ -750,7 +750,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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]", @@ -762,7 +762,7 @@ { "id": 15, "created_at": "2022-07-20 10:12:13.107000", - "updated_at": "2022-12-25 21:43:37.135270", + "updated_at": "2022-12-27 13:41:22.750056", "name": "蚂蚁", "url": "http://hdmayi.com/", "logo": "http://hdmayi.com/favicon.ico", @@ -826,7 +826,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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]", @@ -838,7 +838,7 @@ { "id": 16, "created_at": "2022-07-20 10:13:15.407000", - "updated_at": "2022-12-25 21:43:37.138923", + "updated_at": "2022-12-27 13:43:23.878580", "name": "农场", "url": "https://pt.0ff.cc/", "logo": "https://pt.0ff.cc/favicon.ico", @@ -902,7 +902,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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]", @@ -1282,7 +1282,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": "//td[contains(text(),\"做种统计\")]/following-sibling::td/text()", "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/text()[1]", @@ -1662,7 +1662,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": "//br/preceding-sibling::text()[1]", "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]", @@ -1738,7 +1738,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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]", @@ -1890,7 +1890,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": "//br/preceding-sibling::text()[1]", "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]", @@ -2346,7 +2346,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "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]", @@ -2422,7 +2422,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[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//tr[10]//td[@class=\"no_border_wide\"][2]/text()", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -2650,7 +2650,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[4]", + "seed_vol_rule": "//table/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//tr[11]//td[@class=\"no_border_wide\"][2]/text()", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -2878,7 +2878,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": "//tr/td[3]", - "seed_vol_rule": "//tr/td[3]", + "seed_vol_rule": "//td[contains(text(),\"当前做种\")]/following-sibling::td/text()", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -2954,7 +2954,7 @@ "leech_rule": "//img[@class=\"arrowdown\"][1]/following-sibling::text()[1]", "seed_rule": "//a[contains(@href,\"#seedlist\")]//text()", "record_count_rule": "/html/body/b/text()", - "seed_vol_rule": "//tr/td[3]", + "seed_vol_rule": "//table/preceding-sibling::br/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//tr[11]//td[@class=\"no_border_wide\"][2]/text()", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -2966,7 +2966,7 @@ { "id": 46, "created_at": "2022-08-26 20:53:50.259000", - "updated_at": "2022-12-25 21:43:37.247815", + "updated_at": "2022-12-27 14:49:33.710682", "name": "TTG", "url": "https://totheglory.im/", "logo": "https://totheglory.im/favicon.ico", @@ -2982,7 +2982,7 @@ "page_search": "browse.php?search_field={}&c=M", "page_leeching": "getusertorrentlistajax.php?userid={}&type=leeching", "page_uploaded": "getusertorrentlistajax.php?userid={}&type=uploaded", - "page_seeding": "getusertorrentlistajax.php?userid={}&type=seeding", + "page_seeding": "mybonus.php?id={}", "page_completed": "getusertorrentlistajax.php?userid={}&type=completed", "page_mybonus": "mybonus.php", "page_viewfilelist": "viewfilelist.php?id={}", @@ -3030,7 +3030,7 @@ "leech_rule": "//img[contains(@title,\"下载中\")]/following-sibling::font[1]/span/text()[1]", "seed_rule": "//img[contains(@title,\"做种中\")]/following-sibling::font[1]/span/text()[1]", "record_count_rule": "/html/body/b/text()", - "seed_vol_rule": ".//tr/td[4]", + "seed_vol_rule": "//p/u[1]/text()", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//tr[11]//td[@class=\"no_border_wide\"][2]/text()", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -3942,7 +3942,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[3]", + "seed_vol_rule": "//br/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td[@class=\"no_border_wide\"]/b[contains(text(),\"Hash 码:\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -4170,7 +4170,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -4474,7 +4474,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -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": "//td[contains(text(),\"当前做种\")]/following-sibling::td/text()", "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]", @@ -4778,7 +4778,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -5158,7 +5158,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[3]", + "seed_vol_rule": "//br/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -5234,7 +5234,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -5386,7 +5386,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -5474,7 +5474,7 @@ { "id": 82, "created_at": "2022-11-08 09:18:21.489786", - "updated_at": "2022-12-25 21:43:37.368562", + "updated_at": "2022-12-27 13:34:54.115942", "name": "杏林", "url": "https://xinglin.one/", "logo": "https://xinglin.one/favicon.ico", @@ -5538,7 +5538,7 @@ "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", "record_count_rule": ".//td[3]/text()", - "seed_vol_rule": "//tr/td[4]", + "seed_vol_rule": "//p/preceding-sibling::text()[1]", "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", @@ -6534,5 +6534,157 @@ "my_uid_rule": "id", "page_control_panel": "user/setting", "tracker": "tracker.zhuque.in" + }, + { + "id": 100, + "created_at": "2022-12-27 12:40:22.412286", + "updated_at": "2022-12-27 13:25:13.277207", + "name": "Oldtoons", + "url": "https://oldtoons.world/", + "logo": "https://oldtoons.world/favicon.ico", + "sign_in_support": 1, + "get_torrent_support": 1, + "get_userinfo_support": 1, + "search_support": 0, + "page_default": "torrents.php", + "page_sign_in": "attendance.php", + "page_detail": "details.php?id={}", + "page_download": "download.php?id={}", + "page_user": "userdetails.php?id={}", + "page_search": "torrents.php?search={}", + "page_leeching": "getusertorrentlistajax.php?userid={}&type=leeching", + "page_uploaded": "getusertorrentlistajax.php?userid={}&type=uploaded", + "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": 0, + "sign_in_params": "{}", + "sign_in_headers": "{}", + "hr": 0, + "hr_rate": 2, + "hr_time": 10, + "sp_full": 100, + "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(),\"Join\")]/following-sibling::td/span/@title", + "latest_active_rule": "//td[contains(text(),\"Last\")]/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]", + "my_sp_rule": "//a[@href=\"mybonus.php\"]/following-sibling::text()[1]", + "hour_sp_rule": "//h1[contains(text(),\"Total bonus gained per hour\")]/following::table[1]//tr[2]/td[last()]/text()", + "my_bonus_rule": "//font[@class=\"color_bonus\" and contains(text(),\"积分\")]/following-sibling::text()[1]", + "my_level_rule": "//table[@id=\"info_block\"]//span/a[contains(@class,\"_Name\") and contains(@href,\"userdetails.php?id=\")]/@class", + "my_hr_rule": "//a[@href=\"myhr.php\"]//text()", + "leech_rule": "//img[@class=\"arrowdown\"]/following-sibling::text()[1]", + "seed_rule": "//img[@class=\"arrowup\"]/following-sibling::text()[1]", + "record_count_rule": ".//td[3]/text()", + "seed_vol_rule": "//div[contains(text(),'Total size')]/text()", + "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"new\")]/text()[1]", + "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", + "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"new\")]/text()[1]", + "my_passkey_rule": "//td[contains(text(),\"Passkey\")]/following-sibling::td[1]/text()", + "my_uid_rule": "//table[@id=\"info_block\"]//span/a[contains(@class,\"_Name\") and contains(@href,\"userdetails.php?id=\")]/@href", + "page_control_panel": "usercp.php", + "tracker": "oldtoons.world" + }, + { + "id": 101, + "created_at": "2022-12-27 12:56:12.440343", + "updated_at": "2022-12-27 12:58:34.654160", + "name": "Reelflix", + "url": "https://reelflix.xyz/", + "logo": "https://reelflix.xyz/favicon.ico", + "sign_in_support": 0, + "get_torrent_support": 1, + "get_userinfo_support": 1, + "search_support": 0, + "page_default": "torrents?perPage=100&free[0]=100", + "page_sign_in": "attendance.php", + "page_detail": "details.php?id={}", + "page_download": "download.php?id={}", + "page_user": "users/{}", + "page_search": "torrents.php?search={}", + "page_leeching": "getusertorrentlistajax.php?userid={}&type=leeching", + "page_uploaded": "getusertorrentlistajax.php?userid={}&type=uploaded", + "page_seeding": "users/{}", + "page_completed": "getusertorrentlistajax.php?userid={}&type=completed", + "page_mybonus": "users/{}/bonus/earnings", + "page_viewfilelist": "viewfilelist.php?id={}", + "page_viewpeerlist": "viewpeerlist.php?id={}", + "sign_in_method": "get", + "sign_in_captcha": 0, + "sign_in_params": "{}", + "sign_in_headers": "{}", + "hr": 0, + "hr_rate": 2, + "hr_time": 10, + "sp_full": 100, + "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": "//td[contains(text(),\"邀请\") and not(contains(text(),\"可以\"))]/following-sibling::td/span/text()", + "time_join_rule": "//div[@class=\"header gradient blue\"]//h4[2]/text()", + "latest_active_rule": "//td[contains(text(),\" 上次登录时间\")]/following-sibling::td/text()", + "uploaded_rule": "//li[@title=\"上传\"]/text()", + "downloaded_rule": "//li[@title=\"下载\"]/text()", + "ratio_rule": "//li[@title=\"分享率\"]/a/text()", + "my_sp_rule": "//li[@title=\"我的魔力\"]/a/text()", + "hour_sp_rule": "//dt[contains(text(),\"每小时点数\")]/following-sibling::dd[1]/text()[1]", + "my_bonus_rule": "//font[@class=\"color_bonus\" and contains(text(),\"积分\")]/following-sibling::text()[1]", + "my_level_rule": "//div[@class=\"header gradient blue\"]//h4[1]/span/text()", + "my_hr_rule": "//strong[contains(text(),\"有效\")]/text()", + "leech_rule": "//li[@title=\"吸血\"]/a/text()", + "seed_rule": "//li[@title=\"做种\"]/a/text()", + "record_count_rule": ".//td[3]/text()", + "seed_vol_rule": "//td[contains(text(),\"做种体积\")]/following-sibling::td[1]//text()[1]", + "mailbox_rule": "//a[@href=\"messages.php\"]/font[contains(text(),\"条\")]/text()[1]", + "hash_rule": "//td/b[contains(text(),\"Hash\")]/following::text()[1]", + "notice_rule": "//a[@href=\"index.php\"]/font[contains(text(),\"条\")]/text()[1]", + "my_passkey_rule": "//span[@class=\"text-monospace\"]/text()", + "my_uid_rule": "//div[@class=\"header gradient blue\"]//h2/text()[1]", + "page_control_panel": "usercp.php", + "tracker": "reelflix.xyz" } ] \ No newline at end of file diff --git a/static/js/utils.js b/static/js/utils.js index 70fff1b..1862917 100644 --- a/static/js/utils.js +++ b/static/js/utils.js @@ -7,7 +7,7 @@ function renderSize(value) { var srcsize = parseFloat(value); index = Math.floor(Math.log(srcsize) / Math.log(1024)); var size = srcsize / Math.pow(1024, index); - size = size.toFixed(2);//保留的小数位数 + size = size.toFixed(3);//保留的小数位数 return size + ' ' + unitArr[index]; }