@@ -153,203 +153,3 @@ def getset(d:dict,key:str) :
153153 return d [key ]
154154 else :
155155 return None
156- def getplinfo (d :dict ) :
157- t = d ['data' ]['info' ]
158- r = {}
159- r ['id' ]= t ['id' ]
160- r ['fid' ]= t ['fid' ]
161- r ['uid' ]= t ['mid' ]
162- r ['title' ]= t ['title' ]
163- r ['author' ]= t ['upper' ]['name' ]
164- r ['ctime' ]= t ['ctime' ]
165- r ['mtime' ]= t ['mtime' ]
166- r ['count' ]= t ['media_count' ]
167- return r
168- def getpli (r ,f ,i ,d :dict ):
169- uri = 'https://api.bilibili.com/x/v3/fav/resource/list?media_id=%s&pn=%s&ps=20&keyword=%s&order=mtime&type=%s&tid=0&jsonp=jsonp' % (f ,i ,d ['k' ],d ['t' ])
170- bs = True
171- while bs :
172- try :
173- re = r .get (uri )
174- bs = False
175- except :
176- print ('获取收藏夹第%s页失败,正在重试……' % (i ))
177- re .encoding = 'utf8'
178- re = re .json ()
179- if re ['code' ]!= 0 :
180- print ('%s %s' % (re ['code' ],re ['message' ]))
181- return - 1
182- return re
183- def getpliv (i :list ,d :dict ):
184- for t in d ['data' ]['medias' ]:
185- r = {}
186- r ['id' ]= t ['id' ]
187- r ['title' ]= t ['title' ]
188- r ['page' ]= t ['page' ]
189- r ['duration' ]= t ['duration' ]
190- r ['uid' ]= t ['upper' ]['mid' ]
191- r ['author' ]= t ['upper' ]['name' ]
192- r ['collect' ]= t ['cnt_info' ]['collect' ]
193- r ['danmuku' ]= t ['cnt_info' ]['danmaku' ]
194- r ['play' ]= t ['cnt_info' ]['play' ]
195- r ['bvid' ]= t ['bvid' ]
196- r ['ctime' ]= t ['ctime' ]
197- r ['pubtime' ]= t ['pubtime' ]
198- r ['ftime' ]= t ['fav_time' ]
199- i .append (r )
200- def getchl (d :dict )-> list :
201- r = []
202- for i in d ['data' ]['list' ] :
203- t = {}
204- t ['cid' ]= i ['cid' ]
205- t ['name' ]= i ['name' ]
206- t ['intro' ]= i ['intro' ]
207- t ['mtime' ]= i ['mtime' ]
208- t ['count' ]= i ['count' ]
209- r .append (t )
210- return r
211- def getchi (r :Session ,u :int ,c :int ,n :int ):
212- uri = "https://api.bilibili.com/x/space/channel/video?mid=%s&cid=%s&pn=%s&ps=30&order=0&jsonp=jsonp" % (u ,c ,n )
213- bs = True
214- while bs :
215- try :
216- re = r .get (uri )
217- bs = False
218- except :
219- print ('获取频道第%s页失败,正在重试……' % (n ))
220- re .encoding = 'utf8'
221- re = re .json ()
222- if re ['code' ]!= 0 :
223- print ('%s %s' % (re ['code' ],re ['message' ]))
224- return - 1
225- return re
226- def getchn (d :dict )-> dict :
227- i = d ['data' ]['list' ]
228- r = {}
229- r ['cid' ]= i ['cid' ]
230- r ['name' ]= i ['name' ]
231- r ['intro' ]= i ['intro' ]
232- r ['mtime' ]= i ['mtime' ]
233- r ['count' ]= i ['count' ]
234- return r
235- def getchs (l :list ,d :dict ):
236- for t in d ['data' ]['list' ]['archives' ] :
237- r = {}
238- r ['aid' ]= t ['aid' ]
239- r ['videos' ]= t ['videos' ]
240- r ['title' ]= t ['title' ]
241- r ['pubdate' ]= t ['pubdate' ]
242- r ['ctime' ]= t ['ctime' ]
243- r ['desc' ]= t ['desc' ]
244- r ['cid' ]= t ['cid' ]
245- r ['bvid' ]= t ['bvid' ]
246- l .append (r )
247- def getsub (d :dict ,z :dict ):
248- t = d ['subtitles' ]
249- if len (t )> 0 :
250- r = []
251- for i in t :
252- e = {}
253- e ['lan' ]= i ['lan' ]
254- e ['land' ]= i ['lan_doc' ]
255- e ['url' ]= "https:%s" % (i ['subtitle_url' ])
256- r .append (e )
257- z ['sub' ]= r
258- def getuvi (u :int ,n :int ,d :dict ,r :Session ):
259- uri = "https://api.bilibili.com/x/space/arc/search?mid=%s&ps=30&tid=%s&pn=%s&keyword=%s&order=%s&jsonp=jsonp" % (u ,d ['t' ],n ,d ['k' ],d ['o' ])
260- bs = True
261- while bs :
262- try :
263- re = r .get (uri )
264- bs = False
265- except :
266- print ('获取第%s页失败,正在重试……' % (n ))
267- re = re .json ()
268- if re ['code' ]!= 0 :
269- print ('%s %s' % (re ['code' ],re ['message' ]))
270- return - 1
271- return re
272- def getuvl (d :dict ,l :list ):
273- for t in d ['data' ]['list' ]['vlist' ]:
274- r = {}
275- r ['aid' ]= t ['aid' ]
276- r ['bvid' ]= t ['bvid' ]
277- r ['title' ]= t ['title' ]
278- r ['description' ]= t ['description' ]
279- r ['ctime' ]= t ['created' ]
280- l .append (r )
281- def getup (u :int ,r :Session ) :
282- uri = "https://api.bilibili.com/x/space/acc/info?mid=%s&jsonp=jsonp" % (u )
283- bs = True
284- while bs :
285- try :
286- re = r .get (uri )
287- bs = False
288- except :
289- print ('获取uid为%s的UP主信息失败,正在重试……' % (u ))
290- re = re .json ()
291- if re ['code' ]!= 0 :
292- print ('%s %s' % (re ['code' ],re ['message' ]))
293- return - 1
294- return re
295- def getupi (d :dict )-> dict :
296- r = {}
297- q = d ['data' ]
298- r ['n' ]= q ['name' ]
299- r ['s' ]= q ['sex' ]
300- r ['l' ]= q ['level' ]
301- r ['sign' ]= q ['sign' ]
302- r ['b' ]= q ['birthday' ]
303- return r
304- def getsmi (d :dict )-> dict :
305- "获取小视频信息"
306- r = {}
307- if 'data' in d :
308- if 'item' in d ['data' ] :
309- x = d ['data' ]['item' ]
310- r ['backup_playurl' ]= x ['backup_playurl' ]
311- r ['description' ]= x ['description' ]
312- r ['id' ]= x ['id' ]
313- r ['height' ]= x ['height' ]
314- r ['reply' ]= x ['reply' ]
315- r ['tags' ]= x ['tags' ]
316- r ['upload_time' ]= x ['upload_time' ]
317- r ['video_playurl' ]= x ['video_playurl' ]
318- r ['video_time' ]= x ['video_time' ]
319- r ['width' ]= x ['width' ]
320- if 'user' in d ['data' ] :
321- x = d ['data' ]['user' ]
322- r ['name' ]= x ['name' ]
323- r ['uid' ]= x ['uid' ]
324- return r
325- def getlr1 (d :dict ) -> dict :
326- "获取直播回放信息"
327- r = {}
328- t = d ['data' ]
329- r ['dm' ]= t ['dm_info' ]
330- t = t ['live_record_info' ]
331- r ['rid' ]= t ['rid' ]
332- r ['roomid' ]= t ['room_id' ]
333- r ['uid' ]= t ['uid' ]
334- r ['title' ]= t ['title' ]
335- r ['areaid' ]= t ['area_id' ]
336- r ['pareaid' ]= t ['parent_area_id' ]
337- r ['st' ]= t ['start_timestamp' ]
338- r ['et' ]= t ['end_timestamp' ]
339- r ['online' ]= t ['online' ]
340- r ['danmunum' ]= t ['danmu_num' ]
341- return r
342- def getlr2 (d :dict ,r :dict ) :
343- "获得房间信息(可能与当前回放信息不同)"
344- t = d ['data' ]
345- r ['des' ]= t ['description' ]
346- r ['arean' ]= t ['area_name' ]
347- r ['parean' ]= t ['parent_area_name' ]
348- r ['tags' ]= t ['tags' ]
349- r ['hotwords' ]= t ['hot_words' ]
350- def getlr3 (d :dict ,r :dict ):
351- "获得UP主信息"
352- t = d ['data' ]
353- r ['name' ]= t ['name' ]
354- r ['sex' ]= t ['sex' ]
355- r ['sign' ]= t ['sign' ]
0 commit comments