중국어 간체 |
Xiaohongshu 링크 추출/작품 수집 도구 : 계정 게시물, 컬렉션, 좋아요 및 앨범 작업 링크 추출, 검색 결과 작업 링크 및 사용자 링크 추출, Xiaohongshu 작업 다운로드 주소 추출, 워터마크 작업 파일 없이 Xiaohongshu 도서 다운로드
이 프로젝트는 완전히 무료이며 오픈 소스이며 유료 기능이 없습니다. 속지 마십시오!
XHS-Downloader의 개발 계획 및 진행 상황은 프로젝트에서 확인할 수 있습니다.
? 이미지를 클릭하시면 데모 영상을 보실 수 있습니다.
https://www.xiaohongshu.com/explore/作品ID?xsec_token=XXX
https://www.xiaohongshu.com/discovery/item/作品ID?xsec_token=XXX
https://xhslink.com/分享码
한 번에 여러 작업 링크를 입력할 수 있으며 공백을 사용하여 링크를 구분할 수 있습니다. 프로그램은 추가 처리 없이 자동으로 유효한 링크를 추출합니다!
최상의 디스플레이 효과를 위해 프로그램을 실행하려면 Windows 터미널(Windows 11 기본 터미널)을 사용하는 것이 좋습니다!
워터마크 없이 작업 파일만 다운로드해야 하는 경우 프로그램 실행 또는 Docker 실행을 선택하는 것이 좋습니다. 다른 요구 사항이 있는 경우 소스 코드 실행을 선택하는 것이 좋습니다!
버전 2.2
부터는 프로젝트 기능에 이상이 없다면 별도의 쿠키 처리가 필요하지 않습니다!
Mac OS, Windows 10 이상 사용자는 릴리스로 이동하여 프로그램 압축 패키지를 다운로드하고, 압축을 풀고, 프로그램 폴더를 열고, main
두 번 클릭하여 실행하여 사용할 수 있습니다.
참고: Mac OS 플랫폼 실행 파일 main
장치 제한으로 인해 터미널 명령줄에서 시작해야 할 수 있습니다. Mac OS 플랫폼 실행 파일은 테스트되지 않았으므로 가용성이 보장되지 않습니다.
이 방식으로 프로그램을 사용하는 경우 기본 파일 다운로드 경로는 ._internalDownload
입니다. 구성 파일 경로는 ._internalsettings.json
입니다.
Dockerfile
사용하여 이미지 빌드docker pull joeanamier/xhs-downloader
명령을 사용하여 이미지 가져오기docker run -it joeanamier/xhs-downloader
docker run -it joeanamier/xhs-downloader python main.py server
docker start -i 容器名称/容器ID
docker restart -i 容器名称/容器ID
Docker는 프로젝트 실행 시 명령줄 호출 모드를 지원하지 않습니다. 클립보드 읽기 및 모니터링 기능은 사용할 수 없습니다. 다른 기능에 이상이 있는 경우 다시 신고해 주세요.
3.12
이상인 Python 인터프리터를 설치하세요.pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
명령을 실행하여 프로그램에 필요한 모듈을 설치합니다.main.py
실행하여 사용하세요.프로젝트는 명령줄 작업 모드를 지원합니다. 그래픽 작품의 일부 사진을 다운로드하려면 이 모드를 사용하여 다운로드할 사진의 일련 번호를 설정할 수 있습니다!
쿠키는 브라우저에서 읽을 수 있으며 명령줄을 사용하여 구성 파일에 쓸 수 있습니다!
명령 예: python .main.py --browser_cookie Chrome --update_settings
bool
유형 매개변수는 true
, false
, 1
, 0
, yes
, no
, on
또는 off
(대소문자 구분 안 함)를 사용한 설정을 지원합니다.
시작: 실행 명령: python .main.py server
종료: Ctrl
+ C
눌러 서버를 종료합니다.
요청 인터페이스: /xhs/
요청 방법: POST
요청 형식: JSON
요청 매개변수:
매개변수 | 유형 | 의미 | 기본값 |
---|---|---|---|
URL | str | Xiaohongshu 작품에 대한 링크는 자동으로 추출되며 다중 링크는 지원되지 않습니다. | 없음 |
다운로드 | 부울 | 작업 파일을 다운로드할지 여부를 true 로 설정하면 시간이 더 걸립니다. | 거짓 |
색인 | 목록[정수] | 지정된 일련번호가 있는 사진 파일 다운로드는 그래픽 작품에만 적용되며, download 매개변수가 false | null |
건너뛰다 | 부울 | 다운로드 기록이 있는 작품의 건너뛰기 여부를 true 로 설정하면 다운로드 기록이 있는 작품의 데이터가 반환되지 않습니다. | 거짓 |
코드 예:
def api_demo(): 서버 = "http://127.0.0.1:8000/xhs/" 데이터 = { "url": "https://www.xiaohongshu.com/explore/123456789", "다운로드": 사실, "색인": [ 3, 6, 9, ], } 응답 = 요청.포스트(서버, json=데이터) 인쇄(응답.json())
브라우저에 Tampermonkey 브라우저 확장이 설치되어 있으면 다운로드 및 설치 없이 사용자 스크립트를 추가하고 프로젝트 기능을 경험할 수 있습니다!
스크립트가 성공적으로 설치된 후 Xiaohongshu 페이지를 열고 스크립트 지침을 확인한 후 프롬프트를 따릅니다.
팁: XHS-Downloader 사용자 스크립트를 사용하여 작업 링크를 일괄 추출하고, XHS-Downloader 프로그램을 사용하여 워터마크 없이 작업 파일을 일괄 다운로드하세요!
다른 요구 사항이 있는 경우 main.py
의 주석 프롬프트에 따라 코드를 호출하거나 수정할 수 있습니다!
비동기 정의 예제(): """코드를 통해 매개변수 설정, 2차 개발에 적합""" # 샘플 링크 error_link = "https://github.com/JoeanAmier/XHS_Downloader" 데모_링크 = "https://www.xiaohongshu.com/explore/xxxxxxxxxx" multiple_links = f"{demo_link} {demo_link} {demo_link}" # 인스턴스 객체 work_path = "D:\" # 작업 데이터/파일을 저장하는 루트 경로, 기본값: 프로젝트 루트 경로 폴더_이름 = "Download" # 작업 파일 저장 폴더(자동 생성) 이름, 기본값: 다운로드 name_format = "작품명 작품 설명" user_agent = "" # 사용자 에이전트 cookie = "" # Xiaohongshu 웹 버전 쿠키, 로그인 필요 없음, 선택적 매개변수, 로그인 상태는 데이터 수집에 영향을 미칩니다. Proxy = None # 네트워크 프록시 시간 초과 = 5 # 요청 데이터 시간 초과 제한, 단위: 초, 기본값: 10 Chunk = 1024 * 1024 * 10 # 파일 다운로드 시 서버로부터 매번 받아오는 데이터 블록의 크기, 단위: 바이트 max_retry = 2 # 데이터 요청 실패 시 최대 재시도 횟수, 단위: 초, 기본값 : 5 Record_data = False # 작업 데이터를 파일로 저장할지 여부 image_format = "WEBP" # 그래픽 및 텍스트 작업 파일 다운로드 형식, 지원: PNG, WEBP folder_mode = False # 각 작품의 파일을 별도의 폴더에 저장할지 여부 # async with XHS() as xhs: # pass # 기본 매개변수를 XHS와 비동기로 사용( work_path=작업_경로, 폴더_이름=폴더_이름, name_format=이름_형식, user_agent=user_agent, 쿠키=쿠키, 프록시=프록시, 시간 초과=시간 초과, 덩어리=덩어리, 최대_재시도=최대_재시도, 기록_데이터=기록_데이터, image_format=이미지_형식, 폴더_모드=폴더_모드, ) as xhs: # 사용자 정의 매개변수 사용 download = True # 작업 파일 다운로드 여부, 기본값: False # 다운로드 주소를 포함한 작품에 대한 자세한 정보를 반환합니다. # 데이터 획득에 실패하면 빈 사전을 반환합니다. print(await xhs.extract(error_link, download, )) print( xhs.extract(demo_link, download, index=[1, 2]))를 기다립니다. # 여러 작업 링크 전달 지원 print(await xhs.extract(multiple_links, download, ))
이 프로젝트는 pyperclip
사용하여 클립보드 읽기 기능을 구현합니다. 이 모듈은 시스템에 따라 다릅니다.
Windows에서는 추가 모듈이 필요하지 않습니다.
Mac에서 이 모듈은 운영 체제와 함께 제공되어야 하는 pbcopy 및 pbpaste 명령을 사용합니다.
Linux에서 이 모듈은 운영 체제와 함께 제공되어야 하는 xclip 또는 xsel 명령을 사용합니다. 그렇지 않으면 "sudo apt-get install xclip" 또는 "sudo apt-get install xsel"을 실행하십시오(참고: xsel이 항상 작동하는 것은 아닙니다).
다른 Linux 시스템에서는 qtpy 또는 PyQT5 모듈을 설치해야 합니다.
프로젝트 루트 디렉터리의 settings.json
파일은 처음 실행 시 자동으로 생성되며, 일부 실행 매개변수를 사용자 정의할 수 있습니다.
잘못된 매개변수 값이 설정되면 프로그램은 매개변수 기본값을 사용합니다!
매개변수 | 유형 | 의미 | 기본값 |
---|---|---|---|
직장_경로 | str | 업무 데이터/파일 저장 루트 경로 | 프로젝트 루트 경로 |
폴더_이름 | str | 작업파일이 저장되어 있는 폴더명 | 다운로드 |
이름_형식 | str | 작품 파일 이름 형식, 공백을 사용하여 필드 구분 지원되는 필드:收藏数量 ,评论数量 ,分享数量 点赞数量 ,作品标签 ,作品ID ,作品标题 ,作品描述 ,作品类型 ,发布时间 ,最后更新时间 ,作者昵称 ,作者ID | 发布时间作者昵称作品标题 |
user_agent | str | 브라우저사용자 에이전트 | 내장된 Chrome 사용자 에이전트 |
쿠키 | str | Xiaohongshu 웹 버전 쿠키, 로그인 필요 없음, 필수 매개변수 없음! | 없음 |
대리 | str | 프로그램 프록시 설정 | null |
시간 초과 | 정수 | 요청 데이터 시간 초과 제한, 단위: 초 | 10 |
큰 덩어리 | 정수 | 파일을 다운로드할 때마다 서버에서 얻는 데이터 블록의 크기, 단위: 바이트 | 2097152(2MB) |
최대_재시도 | 정수 | 데이터 요청 실패 시 최대 재시도 횟수, 단위: 초 | 5 |
레코드_데이터 | 부울 | 작업 데이터를 파일로 저장할지 여부, 저장 형식: SQLite | 거짓 |
이미지_형식 | str | 그래픽 및 텍스트 작업 파일 다운로드 형식, 지원: PNG , WEBP 이 매개변수는 이미지를 다운로드할 때 사용되는 인터페이스에 영향을 미치며 고정된 이미지 형식이 아닙니다! | PNG |
이미지_다운로드 | 부울 | 그래픽 작품 파일 다운로드 스위치 | 진실 |
video_download | 부울 | 영상작품 파일 다운로드 스위치 | 진실 |
라이브_다운로드 | 부울 | 그래픽, 텍스트, 애니메이션 파일 다운로드 스위치 | 거짓 |
폴더_모드 | 부울 | 각 작품의 파일을 별도의 폴더에 저장할지 여부는 폴더 이름과 파일 이름이 일치해야 합니다. | 거짓 |
다운로드_기록 | 부울 | 성공적으로 다운로드된 작품의 ID를 기록할지 여부를 설정하면 기존 기록이 있는 작품의 다운로드를 자동으로 건너뜁니다. | 진실 |
언어 | str | 현재 지원되는 프로그램 언어 설정: zh_CN , en_GB | zh_CN |
기타 지침: user_agent
매개변수를 얻는 예; 실제 브라우저 정보에 따라 설정하는 것이 좋습니다.
버전 2.2
부터는 프로젝트 기능에 이상이 없다면 별도의 쿠키 처리가 필요하지 않습니다!
https://www.xiaohongshu.com/explore
방문하세요.F12
눌러 개발자 도구를 엽니다.网络
탭을 선택하세요.保留日志
선택하세요.过滤
입력 상자에 cookie-name:web_session
입력합니다.Fetch/XHR
필터 선택网络
탭에서 패킷을 선택합니다(패킷이 없으면 7단계 반복).XHS-Downloader는 다운로드한 작품의 ID를 데이터베이스에 저장합니다. 동일한 작품을 반복적으로 다운로드할 때 XHS-Downloader는 작품 파일이 존재하지 않는 경우에도 자동으로 해당 작품의 파일 다운로드를 건너뜁니다. 작품 파일을 다시 다운로드하려면 먼저 데이터베이스에서 해당 작품 ID를 삭제한 후 XHS-Downloader를 사용하여 작품 파일을 다운로드하세요!
이 기능은 기본적으로 활성화되어 있습니다. 비활성화된 경우 XHS-Downloader는 파일이 있는지 확인하고 파일이 있으면 다운로드를 건너뜁니다.
XHS-Downloader가 도움이 된다면 별점 을 주세요. 지원해 주셔서 감사합니다!
위챗 | 알리페이 |
---|---|
원한다면 XHS-Downloader 에 대한 추가 지원 자금을 고려해보세요!
참고: QQ 그룹 채팅은 프로젝트 사용 문제에 대한 논의로만 제한됩니다. 광고 게시는 엄격히 금지되며 계정 거래, 계정 트래픽, 트래픽 수익 창출, 회색 산업 및 기타 관련 콘텐츠에 대한 논의는 엄격히 금지됩니다.
저자의 다른 오픈 소스 프로젝트:
JetBrains는 글로벌 오픈 소스 커뮤니티에서 인정받는 활성 프로젝트를 지원하고 비상업적 개발을 위한 무료 라이선스를 제공합니다.