def extract(self, result):
soup = self._get(self._get_url() + result)
sources_soup = self._get(
self._get_url() + soup.select('iframe#videoframe')[0].get('src')
)
referer = self._get_url() + \
soup.select('iframe#videoframe')[0].get('src')
with concurrent.futures.ThreadPoolExecutor(16) as executor:
futures = []
for quality_div in sources_soup.select('.ripdiv'):
self.logger.debug('=> ' + quality_div.find('b').text)
t = re.search('t=(\d+?)"', sources_soup.prettify()).group(1)
results = re.search(
'var s=(\d+?),m=(\d+?);', sources_soup.prettify())
s, m = results.group(1), results.group(2)
sec = re.search(
'f.lastChild.value="(.+?)"', sources_soup.prettify()
).group(1)
for source in quality_div.select('a[onclick]'):
futures.append(executor.submit(
self._source_worker, referer, t, sec, source
))
list(concurrent.futures.as_completed(futures))
评论列表
文章目录