Praktik Proyek Crawler
menjelaskan
Blog Pribadi Penulis
Blog Paprika Goreng dengan Pot Panas
Semua proyek adalah proyek pelatihan dan berbagi penulis. Jika ada pelanggaran, silakan hubungi kami untuk menghapusnya . Ini hanya untuk belajar dan berbagi dan tidak dapat melakukan kegiatan komersial apa pun .
Karena masalah waktu dalam penyelesaian program, beberapa proyek mungkin tidak digunakan kembali .
Lihat note.txt untuk catatan latihan
Proyek ini akan diperbarui terus menerus
Untuk beberapa penjelasan praktis dari proyek ini, silakan merujuk ke stasiun B: https://space.bilibili.com/35242527/channel/collectiondetail?sid=1590251
Di bawah ini adalah peringkat pribadi untuk kesulitan merangkak situs web
| nilai | Logo | Deskripsi kesulitan |
|---|
| Telur laba -laba | 0 | Memulai |
| Laba -laba muda | 00 | Melintasi ambang batas |
| Laba -laba kecil | * | utama |
| Laba -laba besar | ** | Sedikit lebih tinggi dari junior |
| Laba -laba raksasa | *** | Kesulitan sedang |
| Laba -laba Radiant | + | Kesulitan sedang dan atas |
| Laba -laba beracun | ++ | Lebih sulit |
| Spider King | +++ | Bencana |
| Semangat Laba -laba | RAJA | neraka |
Katalog Proyek
grafik td;
Dasar-Dasar-> Permintaan;
Dasar-dasar-> Analisis HTML dan tetap;
Dasar-dasar-> gesekan;
Dasar-dasar-> perayap asinkron kinerja tinggi;
Dasar-dasar-> Feapder;
Otomasi-> Selenium
Otomasi-> Playwright;
Bab Lanjutan-> Kasus Komprehensif;
Bab Lanjutan-> JS Reverse Topic;
JS Reverse Topic-> Permintaan header atau enkripsi data respons;
JS Reverse Topic-> Deteksi sidik jari browser;
JS Reverse Topic-> Artikel Webpack;
JS Reverse Topic-> Deteksi Lingkungan;
JS Reverse Topic-> Wasm;
Kode verifikasi-> Slider;
Kode verifikasi-> Klik untuk memilih;
Memuat Perpustakaan pihak ketiga yang digunakan dalam proyek
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
Dasar -dasar
Meminta
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Petugas Ksatria | Halaman web Baidu | Program crawler pertama | klik disini |
| Petugas Ksatria | Identifikasi UA | Perayapan terbalik awal | klik disini |
| Petugas Ksatria | Terjemahan Baidu | Ketahui Permintaan Posting | klik disini |
| Petugas Ksatria | Film Doban | Basis | klik disini |
| Petugas Ksatria | Kueri Lokasi KFC | latihan json | klik disini |
Parsing HTML dan artikel reguler
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Quasi-knight | Dapatkan Fakut | Parsing LXML | klik disini |
| Quasi-knight | 4K gambar merangkak | LXML dan selesaikan masalah penyandian kesalahan | klik disini |
| Quasi-knight | 58 | LXML dan Paging Crawl | klik disini |
| Quasi-knight | Dasar -dasar BS | BS awal | klik disini |
| Quasi-knight | Kasus BS | Bs praktis | klik disini |
| Quasi-knight | Dasar -dasar xpath | Xpath awal | klik disini |
| Quasi-knight | Xpath parsing | Berlatih xpath | klik disini |
| Quasi-knight | Dasar -dasar biasa | Regulasi awal | klik disini |
| Quasi-knight | Latihan rutin | Aturan praktis | klik disini |
| Quasi-knight | Lanjutkan merangkak | Komprehensif kecil di atas | klik disini |
gesekan
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Ksatria Besar | bossjob | Level 1 halaman merangkak, mungkin tidak tersedia | klik disini |
| Ksatria Besar | Bola warna ganda | Semua adalah operasi basa -basi | klik disini |
| Ksatria Besar | gambar | Semua adalah operasi basa -basi | klik disini |
| Ksatria Besar | Kebijakan Sinar Matahari | Semua adalah operasi basa -basi | klik disini |
| Ksatria Besar | Data mobil Yi merangkak | Dengan JS Reverse, itu hanya entry-level, dan analisis data JSON skala besar | klik disini |
| Ksatria Besar | Jaringan Kecantikan Sekolah | Semua adalah operasi basa -basi | klik disini |
| Ksatria Besar | Berita Netease | Semua adalah operasi basa -basi | klik disini |
| Ksatria Besar | 17K novel merangkak | Semua adalah operasi basa -basi | klik disini |
Perayap asinkron kinerja tinggi
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Petugas Ksatria | Temui Flask | Pengetahuan Dasar | klik disini |
| ksatria | Dasar -dasar Benang Pool | Pengetahuan Dasar | klik disini |
| Ksatria Besar | Gambar batch gambar meinv | Basis | klik disini |
| Ksatria Besar | Gambar selebriti merangkak | Basis | klik disini |
| Ksatria Besar | Multitasking Coroutine | Basis | klik disini |
| Ksatria Besar | Aplikasi kumpulan utas | Basis | klik disini |
Feapder
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Ksatria Raven | Pengumpulan data Xiaohongshu | Gunakan feapder mode udara untuk menyesuaikan pipa penyimpanan CSV. Di masa depan, lebih banyak mode akan ditulis ulang dan lebih banyak fungsi akan ditambahkan. Kami juga perlu menambahkan informasi tambahan. | klik disini |
Otomatisasi
selenium
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Petugas Ksatria | Operasi otomatis dasar | Operasi Otomatisasi Dasar | klik disini |
| Petugas Ksatria | Login Simulasi | Praktek otomatisasi | klik disini |
| Petugas Ksatria | Rantai aksi dan pemrosesan ifream | Praktek otomatisasi | klik disini |
| Petugas Ksatria | Browser tanpa kepala dan anti-deteksi | praktik | klik disini |
| ksatria | 12306 Login Simulasi | Kebanyakan tidak tersedia | klik disini |
| ksatria | Damai.com | Kebanyakan tidak tersedia | klik disini |
dramawan
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| ksatria | kode Pos | Permintaan kode pos melalui alamat, gunakan metode sinkronisasi, termasuk operasi menunggu dan memilih tabel yang berbeda sesuai dengan situasi, dan gunakan panda untuk beroperasi pada file Excel secara bersamaan | klik disini |
| Ksatria Besar | Anti-Crawling Menggunakan Browser Lokal | Kami terkadang mendeteksi saat menggunakan otomatisasi. Kami menggunakan browser lokal untuk anti-perayapan. Karena ini adalah browser lokal, status sesi dan status cookie kami keduanya ada. Dengan kata lain, kami secara langsung mengakses situs web yang kami masuki, yang jauh lebih nyaman dan tidak mengharuskan kami untuk membuat konteks browser. | klik disini |
| Ksatria Bumi | Mengumpulkan informasi | Kesulitannya adalah bahwa setiap situs web memiliki gaya yang berbeda, semua data tidak sama dan jumlahnya besar. Sulit untuk menulis aturan reguler, dan juga sulit untuk berurusan dengan asinkron. Gudang hanya mencantumkan 10 halaman, yang mengharuskan penulis memiliki pemahaman tertentu tentang aturan reguler dan penulis naskah asinkron. | klik disini |
| Ksatria Besar | Browser anti-deteksi | Buat browser anti-deteksi melalui file JS Daniu, yang dapat memotong sebagian besar deteksi | klik disini |
| Ksatria Bumi | Novel qidian vip merangkak | Melewati CSS anti-pendakian novel VIP Qidian melalui tangkapan layar, titik-titik pengetahuan yang digunakan adalah: kotak penentuan posisi, tangkapan layar, geser, batas pemrosesan, dan tangkapan layar menggabungkan. Solusi ini bukan solusi yang optimal, semua orang dipersilakan untuk menambahkan | klik disini |
Bab Lanjutan
Kasus komprehensif
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| ksatria | Situs puisi tertentu | Kode Verifikasi Terkait, Login dan Solusi Kode Verifikasi Gambar --- DDDDocr | klik disini |
| Ksatria Besar | Perayap bahasa | Gunakan Internet untuk mengubah teks menjadi bahasa, mendukung bahasa Cina, Inggris dan Korea | klik disini |
| Ksatria Besar | B Station Comprehensive | Periksa apakah pengguna menyukai Anda, tarik daftar pesan, dan tarik daftar sejenisnya | klik disini |
| Ksatria Bumi | Situs web video | M3U8 Video Unduh, Selesaikan Situasi Dengan Kunci dan Tanpa Kunci, M3U8 Entry-Level dan Multi-Threaded Download | klik disini |
| Ksatria Bumi | Ins Crawler | Untuk ekstraksi parameter halaman dan parsing file json | klik disini |
| Ksatria Bumi | merangkak data douyin di seluruh situs | Termasuk unduhan gambar video, merangkak komentar, informasi pengguna merangkak ... saat ini, beberapa antarmuka juga telah memulai deteksi XB. Jika Anda perlu menggunakan antarmuka yang terdeteksi, Anda perlu menambahkan XB untuk mendapatkan data. Sekarang ulangi tanda tangannya. Anda dapat menemukan file JS untuk mendapatkan tanda tangan di GitHub, meletakkannya di direktori yang sama dengan file douyin dan menamainya xb.js. UP menyediakan repositori kode yang open source di github. Repositori ditandai dalam kode, dan dapat digunakan saat ini. | klik disini |
| Ksatria Bumi | Weibo Data merangkak di seluruh situs | Termasuk mencari pengguna, mencari posting, mengunduh komentar, mengunduh album pengguna, beranda pengguna, informasi pengguna ... | klik disini |
| Level yang tidak diketahui | Roda Reptil | Secara pribadi, enkapsulasi sekunder dari metode crawler yang umum digunakan nyaman untuk pengembangan nanti | klik disini |
JS Topik Terbalik
Permintaan header atau enkripsi data respons
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| ksatria | Data nenniu | Enkripsi header permintaan, enkripsi badan respons | klik disini |
| ksatria | Indeks Hiburan | Pendahuluan Dasar | klik disini |
| ksatria | Data yien | Enkripsi Tubuh Respon | klik disini |
| ksatria | Pokoknya periksa | Enkripsi Tubuh Respon | klik disini |
| Ksatria Besar | Transaksi Umum FJS | Enkripsi parameter yang dikaburkan | klik disini |
| Ksatria Besar | Satu -satunya seni | Kode berjalan JS dinamis | klik disini |
| Ksatria Bumi | Situs web cuaca | JS Dynamic Key Dynamic Parameter Anti-Debug | klik disini |
| Ksatria Bumi | Situs web sepakbola | Berbagai enkripsi badan permintaan, sulit untuk menemukan lokasi terenkripsi | klik disini |
| Ksatria Bumi | Musik Wangyiyun | Menerapkan data merangkak di seluruh situs | klik disini |
| Ksatria Bumi | Transaksi Publik GDS | Parameter yang membingungkan, Anda perlu menemukan lokasi | klik disini |
| Ksatria Bumi | Terjemahan tertentu | Meminta dekripsi respons enkripsi tidak sulit | klik disini |
| Ksatria Bumi | Masuk di stasiun B | Kata sandi terenkripsi RSA, generasi ketiga klik teks dapat dipilih, dan klik teks dapat ditemukan di bagian kode verifikasi | klik disini |
Webpack
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Ksatria Bumi | Mineral China | Webpack Dasar, Algoritma Enkripsi Versi Standar, Sederhana, dapat diimplementasikan dengan berbagai cara (NodeJs, Python dan Decode) | klik disini |
Pengujian Lingkungan
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Ksatria Raven | Redbook | Deteksi Lingkungan XHS XS, Anda perlu memasukkan cookie dan storstorage ke dalam file sendiri | klik disini |
| Ksatria Raven | bossjob | __ZP_S ...__ Deteksi lingkungan, JS berbeda setiap hari, Anda perlu membentuk beberapa lingkungan, dan memodifikasi JS, ada deteksi modul, dll. | klik disini |
| Ksatria Raven | Studi MAN APE PERTANYAAN 1 2023 | Ajaib memodifikasi MD5 dan AE untuk menghapus beberapa honeypot dan mengisi kembali lingkungan browser | klik disini |
| Ksatria Bumi | Parameter ELE.ME | Dapatkan parameter bx_et melalui penulis naskah | klik disini |
| Ksatria Raven | Parameter Anti_Content PDD | Ini bukan lingkungan pengisian, tetapi algoritma untuk dikurangi. Enkripsi PDD mungkin sama di situs yang berbeda, dan nilai -nilai beberapa objek berbeda. Fungsi utama terenkripsi semuanya logis | klik disini |
| Ksatria Bumi | Perbarui bos item perekrutan langsung klik untuk membuka blokir IP, jadi saya baru saja menemukan satu online | Enkripsi lintasan klik-untuk-terpilih ini adalah generasi ketiga dari tes ekstrem | Diperbarui dalam file bos |
Enkripsi Wasm
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Ksatria Raven | Maskapai tertentu | Konten Operasi WASM mewujudkan enkripsi dan dekripsi permintaan parameter header pembaruan enkripsi Alibaba System V2 Deteksi Alibaba Sistem V3 Deteksi (Akuisisi Otomatis), jadi semua parameter enkripsi telah diselesaikan | klik disini |
Deteksi sidik jari browser
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Ksatria Bumi | Yi Jiubi | Pertama, ini adalah badan permintaan terenkripsi, diikuti oleh deteksi sidik jari TLS. Saat ini, permintaan beranda disahkan menggunakan perpustakaan pihak ketiga. | klik disini |
Kode verifikasi
Slider
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Ksatria Besar | JD Slider | Setelah kami mendapatkan gambar, kami dapat menggunakan ddddocr untuk mengidentifikasi slider, dan kemudian menghasilkan lintasan dan mengirim permintaan. Lintasan di sini ditulis oleh bos. Pertama, siapkan tolok ukur, geser secara manual dari kiri ke kanan, dan kemudian lintasan gemetar, dan kemudian menyambungkan dua lintasan (saya tidak tahu mengapa lintasan yang saya geser tidak lewat, jadi saya langsung menggunakan lintasan bos) | klik disini |
| Ksatria Besar | Alibaba 226 | Pembaruan Playwright ini relatif mudah diperoleh | klik disini |
| Ksatria Besar | Feigua mendapatkan slider kode verifikasi | Pembaruan Playwright ini relatif mudah diperoleh | klik disini |
Klik untuk memilih
| Tanda Kesulitan | Nama proyek | Mengisi kembali | Navigasi cepat |
|---|
| Ksatria Raven | Generasi ketiga poin untuk dipilih | Kami meminta antarmuka untuk mendapatkan gambar secara berurutan sesuai dengan pesanan permintaan, dan setelah mendapatkan informasi gambar, kami mengirimkannya ke antarmuka identifikasi untuk mendapatkan koordinat yang dipilih titik. Setelah mendapatkan koordinat, kami mengonversi koordinat dan mengirimkannya ke JS untuk menghasilkan lintasan. Setelah mendapatkan lintasan, kami meminta antarmuka untuk mendapatkan validasi | klik disini |
Sejarah Bintang
sponsor
Jika Anda berpikir gudang ini bermanfaat bagi Anda dalam mempelajari crawler dan membalikkan arah, Anda dipersilakan untuk mensponsori penulis dan meminta penulis untuk minum secangkir teh susu ~! Lai
(Dukungan Anda dapat membuat penulis bahagia sepanjang hari?)