mirror of
https://github.com/JoeanAmier/XHS-Downloader.git
synced 2026-03-22 06:57:16 +08:00
feat: 发布 2.2 版本
1. 移除 sec_ch_ua_platform 参数 2. 移除 sec_ch_ua 参数 3. 优化请求延时间隔 4. 优化并发下载功能 5. 修正英语翻译错误 6. 新增并发下载限制 7. 修正命令行模式错误 8. 简化数据请求头 Closes #86 Closes #87 Closes #93 Closes #98 Closes #105 Closes #109 Closes #110 Closes #140 Closes #152 Closes #154 Closes #157 Closes #159 Closes #160 Closes #162 Closes #164 Closes #165
This commit is contained in:
@@ -11,13 +11,13 @@ from httpx import RequestError
|
||||
from httpx import TimeoutException
|
||||
from httpx import get
|
||||
|
||||
from source.expansion import remove_empty_directories
|
||||
from .static import HEADERS
|
||||
from .static import SEC_CH_UA
|
||||
from .static import SEC_CH_UA_PLATFORM
|
||||
# from .static import SEC_CH_UA
|
||||
# from .static import SEC_CH_UA_PLATFORM
|
||||
from .static import USERAGENT
|
||||
from .static import WARNING
|
||||
from .tools import logging
|
||||
from source.expansion import remove_empty_directories
|
||||
|
||||
__all__ = ["Manager"]
|
||||
|
||||
@@ -54,8 +54,8 @@ class Manager:
|
||||
folder: str,
|
||||
name_format: str,
|
||||
chunk: int,
|
||||
sec_ch_ua: str,
|
||||
sec_ch_ua_platform: str,
|
||||
# sec_ch_ua: str,
|
||||
# sec_ch_ua_platform: str,
|
||||
user_agent: str,
|
||||
cookie: str,
|
||||
proxy: str | dict,
|
||||
@@ -78,12 +78,12 @@ class Manager:
|
||||
self.folder = self.__check_folder(folder)
|
||||
self.message = transition
|
||||
self.blank_headers = HEADERS | {
|
||||
"User-Agent": user_agent or USERAGENT,
|
||||
"Sec-Ch-Ua": sec_ch_ua or SEC_CH_UA,
|
||||
"Sec-Ch-Ua-Platform": sec_ch_ua_platform or SEC_CH_UA_PLATFORM,
|
||||
'user-agent': user_agent or USERAGENT,
|
||||
# 'sec-ch-ua': sec_ch_ua or SEC_CH_UA,
|
||||
# 'sec-ch-ua-platform': sec_ch_ua_platform or SEC_CH_UA_PLATFORM,
|
||||
}
|
||||
self.headers = self.blank_headers | {
|
||||
"Cookie": cookie,
|
||||
'cookie': cookie,
|
||||
}
|
||||
self.retry = retry
|
||||
self.chunk = chunk
|
||||
@@ -97,7 +97,8 @@ class Manager:
|
||||
self.print_proxy_tip(_print, )
|
||||
self.request_client = AsyncClient(
|
||||
headers=self.headers | {
|
||||
"Referer": "https://www.xiaohongshu.com/explore", },
|
||||
'referer': 'https://www.xiaohongshu.com/',
|
||||
},
|
||||
timeout=timeout,
|
||||
verify=False,
|
||||
follow_redirects=True,
|
||||
|
||||
@@ -4,8 +4,8 @@ from pathlib import Path
|
||||
from platform import system
|
||||
|
||||
from .static import ROOT
|
||||
from .static import SEC_CH_UA
|
||||
from .static import SEC_CH_UA_PLATFORM
|
||||
# from .static import SEC_CH_UA
|
||||
# from .static import SEC_CH_UA_PLATFORM
|
||||
from .static import USERAGENT
|
||||
|
||||
__all__ = ['Settings']
|
||||
@@ -16,8 +16,8 @@ class Settings:
|
||||
"work_path": "",
|
||||
"folder_name": "Download",
|
||||
"name_format": "发布时间 作者昵称 作品标题",
|
||||
"sec_ch_ua": SEC_CH_UA,
|
||||
"sec_ch_ua_platform": SEC_CH_UA_PLATFORM,
|
||||
# "sec_ch_ua": SEC_CH_UA,
|
||||
# "sec_ch_ua_platform": SEC_CH_UA_PLATFORM,
|
||||
"user_agent": USERAGENT,
|
||||
"cookie": "",
|
||||
"proxy": None,
|
||||
|
||||
@@ -25,7 +25,7 @@ __all__ = [
|
||||
|
||||
VERSION_MAJOR = 2
|
||||
VERSION_MINOR = 2
|
||||
VERSION_BETA = True
|
||||
VERSION_BETA = False
|
||||
ROOT = Path(__file__).resolve().parent.parent.parent
|
||||
PROJECT = f"XHS-Downloader V{VERSION_MAJOR}.{
|
||||
VERSION_MINOR}{" Beta" if VERSION_BETA else ""}"
|
||||
@@ -36,29 +36,27 @@ RELEASES = "https://github.com/JoeanAmier/XHS-Downloader/releases/latest"
|
||||
|
||||
USERSCRIPT = "https://raw.githubusercontent.com/JoeanAmier/XHS-Downloader/master/static/XHS-Downloader.js"
|
||||
|
||||
USERAGENT = (
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 "
|
||||
"Safari/537.36")
|
||||
SEC_CH_UA = "\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Google Chrome\";v=\"126\""
|
||||
SEC_CH_UA_PLATFORM = "\"Windows\""
|
||||
USERAGENT = ('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 '
|
||||
'Safari/537.36 Edg/128.0.0.0')
|
||||
SEC_CH_UA = '"Chromium";v="128", "Not;A=Brand";v="24", "Microsoft Edge";v="128"'
|
||||
SEC_CH_UA_PLATFORM = '"Windows"'
|
||||
|
||||
HEADERS = {
|
||||
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,"
|
||||
"application/signed-exchange;v=b3;q=0.7",
|
||||
"Accept-Encoding": "gzip, deflate, br, zstd",
|
||||
"Accept-Language": "zh-SG,zh-CN;q=0.9,zh;q=0.8",
|
||||
"Cookie": "",
|
||||
"Dnt": "1",
|
||||
# "Priority": "u=0, i",
|
||||
"Sec-Ch-Ua": SEC_CH_UA,
|
||||
"Sec-Ch-Ua-Mobile": "?0",
|
||||
"Sec-Ch-Ua-Platform": SEC_CH_UA_PLATFORM,
|
||||
"Sec-Fetch-Dest": "document",
|
||||
"Sec-Fetch-Mode": "navigate",
|
||||
"Sec-Fetch-Site": "none",
|
||||
"Sec-Fetch-User": "?1",
|
||||
"Upgrade-Insecure-Requests": "1",
|
||||
"User-Agent": USERAGENT,
|
||||
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
|
||||
# 'accept-language': 'zh-CN,zh;q=0.9',
|
||||
'cache-control': 'no-cache',
|
||||
# 'dnt': '1',
|
||||
'pragma': 'no-cache',
|
||||
# 'priority': 'u=0, i',
|
||||
# 'sec-ch-ua': SEC_CH_UA,
|
||||
# 'sec-ch-ua-mobile': '?0',
|
||||
# 'sec-ch-ua-platform': SEC_CH_UA_PLATFORM,
|
||||
# 'sec-fetch-dest': 'document',
|
||||
# 'sec-fetch-mode': 'navigate',
|
||||
# 'sec-fetch-site': 'none',
|
||||
# 'sec-fetch-user': '?1',
|
||||
# 'upgrade-insecure-requests': '1',
|
||||
'user-agent': USERAGENT,
|
||||
}
|
||||
|
||||
MASTER = "b #fff200"
|
||||
|
||||
@@ -6,8 +6,6 @@ from rich.text import Text
|
||||
|
||||
from .static import INFO
|
||||
|
||||
__all__ = ["retry", "logging", ]
|
||||
|
||||
|
||||
def retry(function):
|
||||
async def inner(self, *args, **kwargs):
|
||||
@@ -30,7 +28,7 @@ def logging(log, text, style=INFO):
|
||||
|
||||
|
||||
async def sleep_time(
|
||||
min_time: int = 1,
|
||||
max_time: int = 3,
|
||||
min_time: int | float = 1,
|
||||
max_time: int | float = 3,
|
||||
):
|
||||
await sleep(uniform(min_time, max_time))
|
||||
|
||||
Reference in New Issue
Block a user