def download(threadUrl): """ """ d = PyQuery(url=threadUrl, parser='soup') links = d('a[href^="job.php?action=download&aid="]') # 获取 verify 的值 tmp = d('script:contains("var verifyhash =")').text() verify = re.search(r"var verifyhash = '(.*?)'", tmp).group(1) total = len(links) d.make_links_absolute() for i, e in enumerate(links.items(), start=1): filename = e.text() print('%s/%s %s' % (i, total, filename)) if not os.path.exists(os.path.join(SAVE_PATH, filename)): params = urlencode( {'check': 1, 'verify': verify, 'nowtime': int(time.time() * 1000)}) url = '%s?%s' % (e.attr['href'], params) print(' fetch: ' + url) downDoc = PyQuery(url, headers=headers) # 第0个是电信下载点,第1个是移动下载点 downUrl = BASE_URL + downDoc('a[href^="remotedown.php"]').eq(1).attr('href') addToIDM(downUrl, SAVE_PATH, filename) time.sleep(1.5) wefiler_urls = checkWefiler(d) if wefiler_urls: print(wefiler_urls)
def addAllToIDM(allList): print('-' * 40) for url, name in allList: addToIDM(url, SAVE_PATH, name) print('添加到IDM成功:{}'.format(name)) print("全部添加到IDM,请开始用IDM下载")
def _addToDownload(url, fileName=None): """ url 是附件的下载链接 """ url = url.replace('attachment.php?', 'forum.php?mod=attachment&').replace('&', '&') addToIDM(url) # fileName = trimFileName(fileName) # addToIDM(url, DOWN_PATH, fileName) print(' 添加到IDM: %s' % fileName)
def parseFlvcd(url, format='hight'): # 不知道是否需要 urllib.parse.quote(videourl) print('目标:{},清晰度:{}'.format(url, format)) url = "http://www.flvcd.com/parse.php?kw=" + url + '&format=' + format d = PyQuery(url) filename = d('input[name="filename"]').attr('value') filename = re.sub('[\\\|\:\*\"\?\<\>]', "_", filename) urltxt = d('input[name="inf"]').attr('value') url = urltxt.strip() addToIDM(url, SAVE_PATH, filename)
def download(url): d = PyQuery(url) title = d('.m-cdes h2').text() # title = trimFileName(title) # 整个公开课的标题 # info = d('.m-cdes p:first').text() # 本课程共4集 翻译完 欢迎学习 path = os.path.join(BASE_PATH, title) print('保存的位置:' + path) # 有2个列表 for e in d('#list2 .u-ctitle').items(): ctitle = e.text() # 一节课的标题 downUrl = e.siblings('.u-cdown .downbtn').attr('href') #没翻译的为None if downUrl: filename = ctitle + '.mp4' addToIDM(downUrl, path, filename) # retcode=0