크롤러 프로젝트 연습
설명
저자의 개인 블로그
뜨거운 냄비가있는 튀긴 고추의 블로그
모든 프로젝트는 저자 교육 및 공유 프로젝트 입니다. 침해가 있으면 저희에게 연락하여 삭제하십시오 . 학습과 공유를 위한 것이며 상업적 활동을 수행 할 수 없습니다 .
프로그램 완료의 시간 문제 로 인해 일부 프로젝트는 재사용되지 않을 수 있습니다.
연습 메모는 note.txt를 참조하십시오
이 프로젝트는 지속적으로 업데이트됩니다
이 프로젝트에 대한 실질적인 설명은 B 스테이션을 참조하십시오 : https://space.bilibili.com/35242527/CollectionDetail?sid=1590251
아래는 웹 사이트 크롤링 난이도에 대한 개인 등급입니다
| 등급 | 심벌 마크 | 난이도 설명 |
|---|
| 거미 알 | 0 | 시작하기 |
| 젊은 거미 | 00 | 임계 값을 넘었습니다 |
| 작은 거미 | * | 주요한 |
| 큰 거미 | ** | 주니어보다 조금 더 높습니다 |
| 거대한 거미 | *** | 중간 어려움 |
| 빛나는 거미 | + | 보통 및 상한 난이도 |
| 유독 한 거미 | ++ | 더 어렵습니다 |
| 거미 왕 | +++ | 재해 |
| 거미 정신 | 왕 | 지옥 |
프로젝트 카탈로그
그래프 TD;
기본-> 요청;
기본-> HTML 및 규칙의 분석;
기본-> 스크레이프;
기본-> 고성능 비동기 크롤러;
기본-> Feapder;
자동화-> 셀레늄
자동화-> 극작가;
고급 챕터-> 포괄적 인 사례;
고급 챕터-> JS 리버스 주제;
JS 리버스 주제-> 요청 헤더 또는 응답 데이터 암호화;
JS 리버스 주제-> 브라우저 지문 탐지;
JS 리버스 주제-> 웹 팩 기사;
JS 역전 주제-> 환경 탐지;
JS 반대 주제-> WASM 기사;
검증 코드-> 슬라이더;
확인 코드-> 클릭하여 선택하십시오.
로딩 프로젝트에 사용 된 타사 도서관
pip install requests # requests库,爬虫的开始
pip install curl_cffi # 标准tls请求库
pip install lxml # xpath提取数据
pip install playwright # 自动化需要
pip install ddddocr # 识别验证码
pip install selenium # 自动化需要,推荐playwright
pip install scrapy # 爬虫框架
pip install " feapder[all] " # 新一代爬虫框架
pip install pycryptodome # python标准密码库
pip install pyexecjs2 # python调用js代码
pip install m3u8 # 下载m3u8视频
pip install prettytable # 格式化输出
pip install tqdm # 进度条
pip install loguru # 强大的日志工具库
pip install retrying # 强大的重试工具
npm install crypto-js/cryptojs # 二选一,js标准密码库
npm install jsdom # js模拟浏览器的dom和bom
npm install tough-cookie # 浏览器cookie
기초
요구
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 기사 직원 | 바이두 웹 페이지 | 첫 번째 크롤러 프로그램 | 여기를 클릭하십시오 |
| 기사 직원 | UA 식별 | 초기 리버스 크롤링 | 여기를 클릭하십시오 |
| 기사 직원 | 바이두 번역 | 게시물 요청을 알고 있습니다 | 여기를 클릭하십시오 |
| 기사 직원 | 더반 영화 | 베이스 | 여기를 클릭하십시오 |
| 기사 직원 | KFC 위치 쿼리 | JSON 연습 | 여기를 클릭하십시오 |
HTML 및 일반 기사를 구문 분석합니다
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 준 나이트 | 가짜를 얻으십시오 | LXML 파싱 | 여기를 클릭하십시오 |
| 준 나이트 | 4K 사진 크롤링 | LXML 및 인코딩 오류 문제를 해결하십시오 | 여기를 클릭하십시오 |
| 준 나이트 | 58 | LXML 및 페이징 크롤링 | 여기를 클릭하십시오 |
| 준 나이트 | BS 기본 사항 | 초기 BS | 여기를 클릭하십시오 |
| 준 나이트 | BS 케이스 | 실용 BS | 여기를 클릭하십시오 |
| 준 나이트 | xpath 기본 사항 | 초기 XPath | 여기를 클릭하십시오 |
| 준 나이트 | xpath 파싱 | XPath를 연습하십시오 | 여기를 클릭하십시오 |
| 준 나이트 | 정기적 인 기본 | 초기 규제 | 여기를 클릭하십시오 |
| 준 나이트 | 정기적 인 운동 | 실용적인 규칙 | 여기를 클릭하십시오 |
| 준 나이트 | 크롤링을 재개하십시오 | 위의 작은 포괄적 | 여기를 클릭하십시오 |
스크레이프
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 그레이트 기사 | 보스 조브 | 레벨 1 페이지 크롤링을 사용할 수 없습니다 | 여기를 클릭하십시오 |
| 그레이트 기사 | 이중 컬러 볼 | 모두 기본적인 스크레이프 운영입니다 | 여기를 클릭하십시오 |
| 그레이트 기사 | 그림 | 모두 기본적인 스크레이프 운영입니다 | 여기를 클릭하십시오 |
| 그레이트 기사 | 선샤인 정책 | 모두 기본적인 스크레이프 운영입니다 | 여기를 클릭하십시오 |
| 그레이트 기사 | Yi 자동차 데이터 크롤링 | JS 리버스를 사용하면 엔트리 레벨과 대규모 JSON 데이터 분석입니다. | 여기를 클릭하십시오 |
| 그레이트 기사 | 학교 뷰티 네트워크 | 모두 기본적인 스크레이프 운영입니다 | 여기를 클릭하십시오 |
| 그레이트 기사 | Netease News | 모두 기본적인 스크레이프 운영입니다 | 여기를 클릭하십시오 |
| 그레이트 기사 | 17K 소설 크롤링 | 모두 기본적인 스크레이프 운영입니다 | 여기를 클릭하십시오 |
고성능 비동기 크롤러
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 기사 직원 | 플라스크를 만나십시오 | 기본 지식 | 여기를 클릭하십시오 |
| 기사 | 스레드 풀 기본 | 기본 지식 | 여기를 클릭하십시오 |
| 그레이트 기사 | Meinv 이미지 배치 크롤링 | 베이스 | 여기를 클릭하십시오 |
| 그레이트 기사 | 유명 인사 사진 크롤링 | 베이스 | 여기를 클릭하십시오 |
| 그레이트 기사 | 멀티 태스킹 코 루틴 | 베이스 | 여기를 클릭하십시오 |
| 그레이트 기사 | 스레드 풀 응용 프로그램 | 베이스 | 여기를 클릭하십시오 |
피부
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 까마귀의 기사 | Xiaohongshu 데이터 수집 | 에어 모드 피부를 사용하여 CSV 스토리지 파이프 라인을 사용자 정의하십시오. 앞으로 더 많은 모드가 다시 작성되고 더 많은 기능이 추가 될 것입니다. 또한 추가 정보를 추가해야합니다. | 여기를 클릭하십시오 |
오토메이션
셀렌
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 기사 직원 | 기본 자동 작동 | 기본 자동화 작업 | 여기를 클릭하십시오 |
| 기사 직원 | 시뮬레이션 로그인 | 연습 자동화 | 여기를 클릭하십시오 |
| 기사 직원 | 액션 체인 및 IFream 처리 | 연습 자동화 | 여기를 클릭하십시오 |
| 기사 직원 | 헤드리스 브라우저 및 검출 방지 | 관행 | 여기를 클릭하십시오 |
| 기사 | 12306 시뮬레이션 로그인 | 대부분 사용할 수 없습니다 | 여기를 클릭하십시오 |
| 기사 | damai.com | 대부분 사용할 수 없습니다 | 여기를 클릭하십시오 |
극작가
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 기사 | 우편 번호 | 주소를 통해 우편 번호를 쿼리하고, 대기 작업 및 상황에 따라 다른 테이블 선택을 포함하여 동기화 방법을 사용하고, 팬더를 사용하여 동시에 Excel 파일에서 작동합니다. | 여기를 클릭하십시오 |
| 그레이트 기사 | 로컬 브라우저를 사용한 크롤링 방지 | 우리는 때때로 자동화를 사용할 때 감지합니다. 우리는 크롤링 방지에 로컬 브라우저를 사용합니다. 로컬 브라우저이므로 세션 상태와 쿠키 상태가 모두 존재합니다. 즉, 로그인 한 웹 사이트에 직접 액세스하는 것입니다.이 웹 사이트는 훨씬 더 편리하며 브라우저 컨텍스트를 만들 필요는 없습니다. | 여기를 클릭하십시오 |
| 지구 기사 | 정보를 수집하십시오 | 어려움은 각 웹 사이트마다 스타일이 다르고 모든 데이터가 동일하지 않으며 숫자가 크다는 것입니다. 정기적 인 규칙을 작성하는 것은 어렵고 비동기식을 다루기가 어렵습니다. 창고에는 10 페이지의 페이지 만 나열되어 있으며, 작가는 정기적 인 규칙과 비동기식 극작에 대한 특정 이해를해야합니다. | 여기를 클릭하십시오 |
| 그레이트 기사 | 검출 방지 브라우저 | 대부분의 탐지를 우회 할 수있는 Daniu의 JS 파일을 통해 검출 방지 브라우저 생성 | 여기를 클릭하십시오 |
| 지구 기사 | Qidian VIP 소설 크롤링 | 스크린 샷을 통해 Qidian VIP 소설의 CSS 반박 방지를 우회하면서 사용 된 지식 포인트는 다음과 같습니다. 포지셔닝 박스, 스크린 샷, 슬라이딩, 처리 경계 및 스크린 샷 병합. 이 솔루션은 최적의 솔루션이 아닙니다. 모두가 추가 할 수 있습니다. | 여기를 클릭하십시오 |
고급 챕터
포괄적 인 경우
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 기사 | 특정시 웹 사이트 | 검증 코드 관련, 로그인 및 이미지 확인 코드 솔루션 --- DDDDOCR | 여기를 클릭하십시오 |
| 그레이트 기사 | 언어 크롤러 | 인터넷을 사용하여 텍스트를 언어로 변환하고 중국어, 영어 및 한국어를 지원합니다. | 여기를 클릭하십시오 |
| 그레이트 기사 | B 스테이션 포괄적 | 사용자가 자신을 좋아하는지 확인하고 메시지 목록을 가져오고 Like List를 가져옵니다. | 여기를 클릭하십시오 |
| 지구 기사 | 비디오 웹 사이트 | M3U8 비디오 다운로드, 키로 상황을 해결하고 키없이 M3U8 엔트리 레벨 및 멀티 스레드 다운로드 | 여기를 클릭하십시오 |
| 지구 기사 | 크롤러 | 페이지 매개 변수 추출 및 구문 분석 JSON 파일 | 여기를 클릭하십시오 |
| 지구 기사 | Douyin 데이터는 전체 사이트에서 크롤링됩니다 | 비디오 이미지 다운로드, 댓글 크롤링, 사용자 정보 크롤링 등을 포함하여 현재 일부 인터페이스도 XB 감지를 시작했습니다. 감지 된 인터페이스를 사용해야하는 경우 데이터를 얻으려면 XB를 추가해야합니다. 이제 서명을 다시 통합하십시오. GitHub에서 서명을 얻기 위해 JS 파일을 찾아 Douyin 파일과 동일한 디렉토리에 넣고 xb.js를 지명 할 수 있습니다. UP은 GitHub의 오픈 소스 인 코드 저장소를 제공합니다. 저장소는 코드에 표시되어 있으며 현재 사용될 수 있습니다. | 여기를 클릭하십시오 |
| 지구 기사 | Weibo 데이터는 사이트를 가로 질러 크롤링합니다 | 사용자 검색, 게시물 검색, 댓글 다운로드, 사용자 앨범 다운로드, 사용자 홈페이지, 사용자 정보 포함 ... | 여기를 클릭하십시오 |
| 알 수없는 수준 | 파충류 휠 | 개인적으로 일반적으로 사용되는 크롤러 방법의 2 차 캡슐화는 나중에 개발에 편리합니다. | 여기를 클릭하십시오 |
JS 반전 주제
헤더 또는 응답 데이터 암호화를 요청합니다
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 기사 | Nenniu 데이터 | 헤더 암호화, 응답 본문 암호화를 요청하십시오 | 여기를 클릭하십시오 |
| 기사 | 엔터테인먼트 지수 | 기본 소개 | 여기를 클릭하십시오 |
| 기사 | Yien 데이터 | 응답 본체 암호화 | 여기를 클릭하십시오 |
| 기사 | 어쨌든 확인 | 응답 본체 암호화 | 여기를 클릭하십시오 |
| 그레이트 기사 | FJS 공개 거래 | 난독 화 된 매개 변수 암호화 | 여기를 클릭하십시오 |
| 그레이트 기사 | 유일한 예술 | 동적 JS 실행 코드 | 여기를 클릭하십시오 |
| 지구 기사 | 날씨 웹 사이트 | 동적 JS 동적 키 동적 매개 변수 Anti-Debug | 여기를 클릭하십시오 |
| 지구 기사 | 축구 웹 사이트 | 요청 본문의 여러 암호화, 암호화 된 위치를 찾기가 어렵습니다. | 여기를 클릭하십시오 |
| 지구 기사 | Wangyiyun 음악 | 전체 사이트에서 크롤링을 구현하십시오 | 여기를 클릭하십시오 |
| 지구 기사 | GDS 공개 거래 | 혼동 매개 변수는 위치를 찾아야합니다 | 여기를 클릭하십시오 |
| 지구 기사 | 특정 번역 | 암호화 응답 암호 해독을 요청하는 것은 어렵지 않습니다 | 여기를 클릭하십시오 |
| 지구 기사 | B 스테이션에 로그인하십시오 | RSA 암호화 된 암호, 3 세대 텍스트 클릭을 선택할 수 있으며 텍스트 클릭은 확인 코드 섹션에서 찾을 수 있습니다. | 여기를 클릭하십시오 |
웹 팩
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 지구 기사 | 중국 광물 | 기본 웹 팩, 표준 버전 암호화 알고리즘, Simple은 다양한 방식으로 구현할 수 있습니다 (Nodejs, Python 및 Decode) | 여기를 클릭하십시오 |
환경 테스트
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 까마귀의 기사 | 레드 북 | XHS XS 환경 감지, 쿠키와 로컬 스터를 파일에 직접 넣어야합니다. | 여기를 클릭하십시오 |
| 까마귀의 기사 | 보스 조브 | __ZP_S ...__ 환경 감지, JS는 매일 다르고 일부 환경을 구성하고 JS를 수정해야합니다. 모듈 감지 등이 있습니다. | 여기를 클릭하십시오 |
| 까마귀의 기사 | Ape Man 연구 질문 1 2023 | MD5 및 AES를 마술처럼 수정하여 일부 허니 팟을 삭제하고 브라우저 환경을 보충합니다. | 여기를 클릭하십시오 |
| 지구 기사 | ele.me 매개 변수 | 극작가를 통해 BX_ET 매개 변수를 얻으십시오 | 여기를 클릭하십시오 |
| 까마귀의 기사 | PDD의 anti_content 매개 변수 | 이것은 보충 환경이 아니라 공제 알고리즘입니다. PDD의 암호화는 아마도 다른 사이트에서 동일하며 일부 객체의 값은 다릅니다. 암호화 된 주요 기능은 모두 논리적입니다 | 여기를 클릭하십시오 |
| 지구 기사 | BOSS 직접 모집 항목 업데이트 IP를 차단 해제하여 온라인에서 하나를 찾았습니다. | 이 클릭 대 선택 궤적 암호화는 3 세대 극단 테스트입니다. | 보스 파일에서 업데이트되었습니다 |
암호화
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 까마귀의 기사 | 특정 항공사 | WASM 작동 컨텐츠 암호화 및 암호 해독 요청 헤더 매개 변수 암호화 업데이트 Alibaba System V2 Detection Alibaba System V3 Detection (자동 획득)을 실현하므로 모든 암호화 매개 변수가 해결되었습니다. | 여기를 클릭하십시오 |
브라우저 지문 감지
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 지구 기사 | 이지비 | 첫째, 암호화 된 요청 본문과 TLS 지문 감지가 이어집니다. 현재 홈페이지 요청은 타사 라이브러리를 사용하여 통과됩니다. | 여기를 클릭하십시오 |
확인 코드
슬라이더
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 그레이트 기사 | JD 슬라이더 | 그림을 얻은 후 DDDDOCR을 사용하여 슬라이더를 식별 한 다음 궤적을 생성하고 요청을 보낼 수 있습니다. 여기의 궤적은 보스가 썼습니다. 먼저, 벤치 마크를 준비하고 왼쪽에서 오른쪽으로 수동으로 밀고 흔들리는 궤적을 한 다음 두 개의 궤적을 스플릿합니다 (내가 슬라이드하는 궤적이 왜 통과되지 않았는지 모르겠으므로 보스의 궤적을 직접 사용했습니다). | 여기를 클릭하십시오 |
| 그레이트 기사 | 알리바바 226 | 이 업데이트 극작가는 비교적 간단합니다 | 여기를 클릭하십시오 |
| 그레이트 기사 | Feigua는 검증 코드 슬라이더를받습니다 | 이 업데이트 극작가는 비교적 간단합니다 | 여기를 클릭하십시오 |
선택하려면 클릭하십시오
| 난이도 마크 | 프로젝트 이름 | 다시 채우다 | 빠른 탐색 |
|---|
| 까마귀의 기사 | 선택할 3 세대 포인트 | 요청 순서에 따라 사진을 순서대로 얻기 위해 인터페이스를 요청하고 이미지 정보를 얻은 후 식별 인터페이스로 보내어 포인트 선택 좌표를 얻습니다. 좌표를 얻은 후 좌표를 변환하여 JS로 보내 궤적을 생성합니다. 궤적을 얻은 후, 우리는 유효성 검사를 얻기 위해 인터페이스를 요청합니다. | 여기를 클릭하십시오 |
스타 역사
스폰서
이 창고가 크롤러와 리버스 지시를 배우는 데 도움이된다고 생각되면 저자를 후원하고 저자에게 밀크 티 한 잔을 마시도록 요청할 수 있습니다 ~! !
(당신의 지원은 저자를 하루 종일 행복하게 만들 수 있습니까?)