Files
2026-06-29 03:41:14 +00:00

72 lines
2.8 KiB
Python

import re
import requests
class Spider():
def getName(self):
return 'JAV36'
def init(self, extend=''):
pass
def getDependence(self):
return []
def homeContent(self, filter):
return {
'class': [
{'type_name': '最新更新', 'type_id': 'latest-updates/'},
{'type_name': '4K高清', 'type_id': 'tags/4k/'}
],
'list': []
}
def homeVideoContent(self):
return self.categoryContent('latest-updates/', 1, False, {})
def categoryContent(self, tid, pg, filter, extend):
url = f'https://jav36.com/{tid}'
if int(pg) > 1:
url = f'https://jav36.com/{tid}{pg}/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'}
try:
res = requests.get(url, headers=headers, timeout=15)
return {'list': self.parse_list(res.text)}
except: return {'list': []}
def searchContent(self, keyword, quick, pg=1):
url = f'https://jav36.com/search/{keyword}/'
if int(pg) > 1:
url = f'https://jav36.com/search/{keyword}/{pg}/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'}
try:
res = requests.get(url, headers=headers, timeout=15)
return {'list': self.parse_list(res.text)}
except: return {'list': []}
def parse_list(self, html):
vod_list = []
pattern = r'href=\"https://jav36\.com/videos/(?P<id_path>\d+/(?P<id>[^/]+)/)\" title=\"(?P<name>[^\"]+)\".*?data-original=\"(?P<pic>[^\"]+)\"'
for m in re.finditer(pattern, html, re.S):
vod_list.append({
'vod_id': m.group('id_path'),
'vod_name': m.group('name').strip(),
'vod_pic': m.group('pic'),
'vod_remarks': 'Full HD'
})
return vod_list
def detailContent(self, ids):
return {'list': [{'vod_id': ids[0], 'vod_name': 'Video', 'vod_play_from': 'Direct', 'vod_play_url': 'Play$'+ids[0]}]}
def playerContent(self, flag, id, vipFlags):
url = f'https://jav36.com/videos/{id}'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'}
try:
res = requests.get(url, headers=headers, timeout=10)
match = re.search(r'\"contentUrl\"\s*:\s*\"([^\"]+)\"', res.text)
if match:
return {'parse': 0, 'url': match.group(1), 'header': {'User-Agent': headers['User-Agent'], 'Referer': 'https://jav36.com/'}}
except: pass
return {'parse': 0, 'url': url}