diff --git a/Crawler/Crawler.py b/Crawler/Crawler.py index 056e8d5..c33848b 100755 --- a/Crawler/Crawler.py +++ b/Crawler/Crawler.py @@ -2,6 +2,7 @@ import requests import urllib import bs4 import re +import os from .Setting import Setting from .ProxyHandler import ProxyHandler @@ -203,3 +204,19 @@ class Crawler: Logger.log('Crawling start') self.crawl_torrent() Logger.log('Crawling finished') + + +class Sorter: + @staticmethod + def move_files(): + setting = Setting() + if not 'file_download_path' in setting.settings or not 'file_move_path' in setting.settings: + return + + file_list = os.listdir(setting.settings['file_download_path']) + for filename in file_list: + for video in setting.settings['video']: + if video['title'] in filename: + old_path = os.path.join(setting.settings['file_download_path'], filename) + new_path = os.path.join(setting.settings['file_move_path'], video['title'] + '/' + filename) + os.rename(old_path, new_path) diff --git a/Crawler/Setting.py b/Crawler/Setting.py index dbceb02..61da836 100755 --- a/Crawler/Setting.py +++ b/Crawler/Setting.py @@ -61,6 +61,20 @@ class Setting: Logger.log(e) exit() + if 'download_path' in self.settings and self.settings['file_download_path'][-1] != '/': + self.settings['file_download_path'] += '/' + + if 'file_move_path' in self.settings: + if self.settings['file_move_path'][-1] != '/': + self.settings['file_move_path'] += '/' + + if not os.path.exists(self.settings['file_move_path']): + try: + os.makedirs(self.settings['file_move_path']) + except Exception as e: + Logger.log(e) + exit() + video['keyword'] += self.settings['keyword_append'] def load_downloaded(self): diff --git a/Main.py b/Main.py index 008f4f4..f9a1ccb 100755 --- a/Main.py +++ b/Main.py @@ -1,21 +1,10 @@ from Crawler.Crawler import Crawler +from Crawler.Crawler import Sorter if __name__ == '__main__': + + file_sorter = Sorter() + file_sorter.move_files() + crawler = Crawler() crawler.crawl() - - # import requests - # import bs4 - - # resp = requests.get('http://www.gatherproxy.com') - # soup = bs4.BeautifulSoup(resp.text, 'lxml') - # # print(soup) - # table = soup.select('table#tblproxy') - # trs = table[0].select('tr') - # for tr in trs[2:5]: - # tds = tr.select('td') - # if len(tds) < 2: - # continue - - # ip, port = tds[1].text, tds[2].text - # print('ip: {}, port: {}'.format(ip, port))