MCPcopy Create free account
hub / github.com/UndCover/PyramidStore / Spider

Class Spider

plugin/py_bilimd.py:12–214  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

10import base64
11
12class Spider(Spider): # 元类 默认的元类 type
13 def getName(self):
14 return "B站影视"
15 def init(self,extend=""):
16 print("============{0}============".format(extend))
17 pass
18 def isVideoFormat(self,url):
19 pass
20 def manualVideoCheck(self):
21 pass
22 def homeContent(self,filter):
23 result = {}
24 cateManual = {
25 "番剧": "1",
26 "国创": "4",
27 "电影": "2",
28 "综艺": "7",
29 "电视剧": "5",
30 "纪录片": "3"
31 }
32 classes = []
33 for k in cateManual:
34 classes.append({
35 'type_name':k,
36 'type_id':cateManual[k]
37 })
38 result['class'] = classes
39 if(filter):
40 result['filters'] = self.config['filter']
41 return result
42 def homeVideoContent(self):
43 result = {
44 'list':[]
45 }
46 return result
47 cookies = ''
48 def getCookie(self):
49 #在cookies_str中填入会员或大会员cookie,以获得更好的体验
50 cookies_str = "innersign=0; buvid3=606BE156-AE37-AEA8-7052-9DA0B21766E776404infoc; b_nut=1663302976; i-wanna-go-back=-1; b_ut=7; b_lsid=4106252F6_18344933A90; _uuid=586AAEB7-6B88-A691-F7AC-95C27E57F53C43036infoc; buvid4=B6FF1449-4361-1C76-DEFC-4AFCA1777B7E78304-022091612-PdJr0jKE6N5TamfAEX9uACD1RXvklspbNdlcIQEFLMu0d9wS3G3sdA%3D%3D; buvid_fp=2a9b54d5e06aa54293dc7544e000552d"
51 cookies_dic = dict([co.strip().split('=') for co in cookies_str.split(';')])
52 rsp = session()
53 cookies_jar = utils.cookiejar_from_dict(cookies_dic)
54 rsp.cookies = cookies_jar
55 content = self.fetch("http://api.bilibili.com/x/web-interface/nav", cookies=rsp.cookies)
56 res = json.loads(content.text)
57 if res["code"] == 0:
58 self.cookies = rsp.cookies
59 else:
60 rsp = self.fetch("https://www.bilibili.com/")
61 self.cookies = rsp.cookies
62 return rsp.cookies
63
64 def categoryContent(self,tid,pg,filter,extend):
65 result = {}
66 url = 'https://api.bilibili.com/pgc/season/index/result?order=2&season_status=-1&style_id=-1&sort=0&area=-1&pagesize=20&type=1&st={0}&season_type={0}&page={1}'.format(tid,pg)
67 if len(self.cookies) <= 0:
68 self.getCookie()
69 rsp = self.fetch(url, cookies=self.cookies)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected