| 6 | import json |
| 7 | |
| 8 | class Spider(Spider): |
| 9 | def getName(self): |
| 10 | return "77" |
| 11 | def init(self,extend=""): |
| 12 | print("============{0}============".format(extend)) |
| 13 | pass |
| 14 | def homeContent(self,filter): |
| 15 | result = {} |
| 16 | url = 'http://api.kunyu77.com/api.php/provide/filter' |
| 17 | rsp = self.fetch(url,headers=self.header) |
| 18 | jo = json.loads(rsp.text) |
| 19 | classes = [] |
| 20 | jData = jo['data'] |
| 21 | for cKey in jData.keys(): |
| 22 | classes.append({ |
| 23 | 'type_name':jData[cKey][0]['cat'], |
| 24 | 'type_id':cKey |
| 25 | }) |
| 26 | result['class'] = classes |
| 27 | if(filter): |
| 28 | result['filters'] = self.config['filter'] |
| 29 | return result |
| 30 | def homeVideoContent(self): |
| 31 | url = 'http://api.kunyu77.com/api.php/provide/homeBlock?type_id=0' |
| 32 | rsp = self.fetch(url,headers=self.header) |
| 33 | jo = json.loads(rsp.text) |
| 34 | blockList = jo['data']['blocks'] |
| 35 | videos = [] |
| 36 | for block in blockList: |
| 37 | vodList = block['contents'] |
| 38 | for vod in vodList: |
| 39 | videos.append({ |
| 40 | "vod_id":vod['id'], |
| 41 | "vod_name":vod['title'], |
| 42 | "vod_pic":vod['videoCover'], |
| 43 | "vod_remarks":vod['msg'] |
| 44 | }) |
| 45 | result = { |
| 46 | 'list':videos |
| 47 | } |
| 48 | return result |
| 49 | def categoryContent(self,tid,pg,filter,extend): |
| 50 | result = {} |
| 51 | if 'type_id' not in extend.keys(): |
| 52 | extend['type_id'] = tid |
| 53 | extend['pagenum'] = pg |
| 54 | filterParams = ["type_id", "pagenum"] |
| 55 | params = ["", ""] |
| 56 | for idx in range(len(filterParams)): |
| 57 | fp = filterParams[idx] |
| 58 | if fp in extend.keys(): |
| 59 | params[idx] = '&'+filterParams[idx]+'='+extend[fp] |
| 60 | suffix = ''.join(params) |
| 61 | url = 'http://api.kunyu77.com/api.php/provide/searchFilter?pagesize=24{0}'.format(suffix) |
| 62 | rsp = self.fetch(url,headers=self.header) |
| 63 | jo = json.loads(rsp.text) |
| 64 | vodList = jo['data']['result'] |
| 65 | videos = [] |
nothing calls this directly
no outgoing calls
no test coverage detected