From bd3504f3b5ed200ab79e2783f7594ee35c4ffb53 Mon Sep 17 00:00:00 2001 From: lededev Date: Sat, 9 Oct 2021 19:32:00 +0800 Subject: [PATCH] javdb:only accept one login site after javdb site update --- WebCrawler/javdb.py | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/WebCrawler/javdb.py b/WebCrawler/javdb.py index 3a0a18d..841d8d6 100755 --- a/WebCrawler/javdb.py +++ b/WebCrawler/javdb.py @@ -213,27 +213,31 @@ def getSeries(a): return str(result1 + result2).strip('+').replace("', '", '').replace('"', '') def main(number): - javdb_site = secrets.choice(["javdb31", "javdb32"]) - if config.getInstance().debug(): - print(f'[!]javdb:select site {javdb_site}') + # javdb更新后同一时间只能登录一个数字站,最新登录站会踢出旧的登录,因此按找到的第一个javdb*.json文件选择站点, + # 如果无.json文件则按选择最后一个站点。 + javdb_sites = ["javdb31", "javdb32"] + debug = config.getInstance().debug() try: # if re.search(r'[a-zA-Z]+\.\d{2}\.\d{2}\.\d{2}', number).group(): # pass # else: # number = number.upper() number = number.upper() - cookie_json = javdb_site + '.json' javdb_cookies = {'over18':'1', 'theme':'auto', 'locale':'zh'} # 不加载过期的cookie,javdb登录界面显示为7天免登录,故假定cookie有效期为7天 - cookies_dict, cookies_filepath = load_cookies(cookie_json) - if isinstance(cookies_dict, dict) and isinstance(cookies_filepath, str): - cdays = file_modification_days(cookies_filepath) - if cdays < 7: - javdb_cookies = cookies_dict - elif cdays != 9999: - print( -f'[!]Cookies file {cookies_filepath} was updated {cdays} days ago, it will not be used for HTTP requests.') - + for cj in javdb_sites: + javdb_site = cj + cookie_json = javdb_site + '.json' + cookies_dict, cookies_filepath = load_cookies(cookie_json) + if isinstance(cookies_dict, dict) and isinstance(cookies_filepath, str): + cdays = file_modification_days(cookies_filepath) + if cdays < 7: + javdb_cookies = cookies_dict + elif cdays != 9999: + print(f'[!]Cookies file {cookies_filepath} was updated {cdays} days ago, it will not be used for HTTP requests.') + break + if debug: + print(f'[!]javdb:select site {javdb_site}') try: javdb_url = 'https://' + javdb_site + '.com/search?q=' + number + '&f=all' query_result = get_html(javdb_url, cookies=javdb_cookies) @@ -338,3 +342,4 @@ if __name__ == "__main__": # print(main('FC2-1174949')) # not found print(main('MVSD-439')) # print(main('EHM0001')) # not found + print(main('FC2-2314275'))