def extract_links(self, content): allow_url = ['fshare.vn/'] for link in content.select('a.externalLink'): url = link.get('href') if True in map(lambda x: x in url, allow_url) and url not in self.found_links: self.found_links.append(url) self.info_links.append( 'https://www.fshare.vn/api/v3/files/folder?linkcode=%s' % FShareVN.extract_code(url))
def get(self, response, skipEps=False): movie = { 'group': {}, 'episode': [], 'links': [], } soup = BeautifulSoup(response, "html.parser") # get all server list servers = soup.select("ul.ipsDataList > div#extraFields > li") # get subtitle link subtitle = None try: subtitle = soup.select_one("ul.ipsDataList > div#extraFields > li a.ipsType_success").get('href') except: pass server = servers[-1:][0] items = server.select('span.ipsDataItem_main a') links = [] for link in items: f_url = 'https://www.fshare.vn/api/v3/files/folder?linkcode=%s' % FShareVN.extract_code(link.get('href')) if link and 'fshare' in link.get('href'): links.append(f_url) if len(links) > 0: results = AsyncRequest().get(links) for idx, result in enumerate(results): try: link = items[idx].get('href') name, size = FShareVN.get_asset_info(content=result) movie['links'].append({ 'link': link, 'title': '[%s] %s' % (size, name), 'type': 'Fshare', 'isFolder': FShareVN.is_folder(link), 'subtitle': subtitle, 'resolve': False }) except: print('Link die %s' % items[idx].get('href')) continue return movie