|
@@ -3,6 +3,7 @@ import os
|
|
|
import random
|
|
|
import re
|
|
|
import subprocess
|
|
|
+import sys
|
|
|
import time
|
|
|
import rarfile
|
|
|
import shutil
|
|
@@ -28,8 +29,10 @@ from crossborder.utils.log import get_logger
|
|
|
|
|
|
log = get_logger(__name__)
|
|
|
|
|
|
-# rarfile.UNRAR_EXECUTABLE = r"C:\Program Files\WinRAR\UnRAR.exe"
|
|
|
-rarfile.UNRAR_EXECUTABLE = "unrar"
|
|
|
+if sys.platform.startswith('linux'):
|
|
|
+ rarfile.UNRAR_EXECUTABLE = "unrar"
|
|
|
+else:
|
|
|
+ rarfile.UNRAR_EXECUTABLE = r"C:\Program Files\WinRAR\UnRAR.exe"
|
|
|
|
|
|
def configure_stealth_options():
|
|
|
"""增强型反检测配置[1,4](@ref)"""
|
|
@@ -166,9 +169,11 @@ def find_target_links(driver, year_month):
|
|
|
|
|
|
def extract_rar(rar_path, extract_to):
|
|
|
"""备用解压函数(当 rarfile 失效时使用)"""
|
|
|
- # winrar_path = r"C:\Program Files\WinRAR\Rar.exe" # 推荐使用 Rar.exe 而非 WinRAR.exe
|
|
|
- # cmd = [winrar_path, 'x', '-y', rar_path, str(extract_to)]
|
|
|
- cmd = ["unrar", 'x', '-y', rar_path, str(extract_to)]
|
|
|
+ if sys.platform.startswith('linux'):
|
|
|
+ cmd = ["unrar", 'x', '-y', rar_path, str(extract_to)]
|
|
|
+ else:
|
|
|
+ winrar_path = r"C:\Program Files\WinRAR\Rar.exe" # 推荐使用 Rar.exe 而非 WinRAR.exe
|
|
|
+ cmd = [winrar_path, 'x', '-y', rar_path, str(extract_to)]
|
|
|
|
|
|
# 使用 CREATE_NO_WINDOW 防止弹出命令行窗口
|
|
|
creationflags = subprocess.CREATE_NO_WINDOW if os.name == 'nt' else 0
|