Apakah mata pengetahuan Python anti-crawler?
1. Mengapa anti-crawler?
Sebelum mereka bentuk sistem anti-crawler, mari kita lihat dahulu apakah masalah yang akan dibawa oleh perangkak ke tapak web?
Intipati Secara umumnya, laman web di Internet yang boleh dilayari, dilihat dan digunakan oleh orang ramai dan data di laman web itu terbuka dan boleh diakses, jadi tidak ada masalah yang dipanggil "akses dibenarkan secara haram".
Tiada perbezaan penting antara program perangkak yang mengakses halaman web dan manusia yang mengakses halaman web Dalam kedua-dua kes, pelanggan memulakan permintaan HTTP ke pelayan laman web tersebut, pelayan laman web mengembalikan a respons kandungan kepada pelanggan.
Selagi permintaan dimulakan, pelayan tapak web mesti bertindak balas, sumber pelayan mesti digunakan.
Terdapat hubungan yang saling menguntungkan antara pelawat laman web dan laman web ini menyediakan pelawat dengan maklumat dan perkhidmatan yang diperlukan, dan pelawat juga membawa trafik, pelawat, Aktiviti. Oleh itu, pemilik laman web akan bersedia menggunakan lebar jalur pelayan, cakera dan memori untuk melayani pelawat mereka.
Dan bagaimana pula dengan program crawler ia sama dengan pelacuran secara percuma. Menggandakan sumber pelayan laman web dan menduduki lebar jalur pelayan tidak akan membawa apa-apa faedah kepada tapak web Malah, keputusan akhir akan membahayakan laman web itu sendiri.
Perangkak mungkin dianggap sebagai dubuk Afrika di Internet, dan tidak hairanlah mereka dibenci oleh pemilik tapak web.
2. Kenal pasti perangkak
Memandangkan anda benci perangkak, anda harus menjauhkan mereka daripada tapak web. Untuk menafikan akses perangkak, anda mesti mengenal pasti dahulu program perangkak dalam kalangan pelawat rangkaian. Bagaimana untuk mengenal pastinya?
1. Pengepala permintaan HTTP
Pelawat rangkaian umum akan menggunakan penyemak imbas untuk mengakses tapak web, jadi pengenalan ini adalah untuk Reptilia rangkaian yang paling asas. Penyemak imbas akan membawa pengepala permintaannya sendiri untuk menunjukkan maklumat asasnya. Pengepala permintaan HTTP mudah dipecahkan oleh perangkak kerana sesiapa sahaja boleh mengubah suai dan memalsukannya.
2. Nilai kuki
Kuki biasanya digunakan untuk mengenal pasti pelawat tapak web, sama seperti kad pengenalan sementara di tangan anda. Dan berdasarkan ini, identiti itu disahkan dengan pelayan laman web. Malangnya, kuki disimpan di bahagian pelanggan dan boleh diubah suai dan dipalsukan.
3. Kekerapan akses
Apabila pelawat meminta halaman tertentu tapak web setiap saat, atau meminta halaman ini ratusan kali dalam beberapa saat. Pelawat ini sama ada perayap atau hantu. Manusia manakah yang boleh mengklik tetikus dengan cepat dan kerap untuk melawat halaman? Adakah dia mempunyai penyakit Parkinson atau adakah dia penjelmaan semula sotong?
Adalah boleh untuk mengenal pasti perangkak mengikut kekerapan akses, tetapi perangkak juga boleh menggunakan sejumlah besar IP proksi untuk mencapai kesan hanya mengakses alamat IP sekali, dan juga boleh dielakkan oleh selang permintaan rawak.
4. Trajektori tingkah laku tetikus
Apabila pelawat manusia biasa melayari halaman web, mereka tidak menggerakkan tetikus dan mengklik langkah demi langkah seperti mesin. Pergerakan dan klik tetikus boleh ditangkap melalui skrip JS, jadi anda boleh menilai sama ada pelawat adalah program perangkak dengan menilai trajektori gelagat tetikus pelawat.
5. Nilai token
Banyak tapak web kini menggunakan kaedah pembangunan pemisahan bahagian hadapan dan bahagian belakang Antara muka bahagian belakang mengembalikan data ke hadapan -akhir, dan bahagian hadapan menggabungkannya selepas mendapat data Halaman itu dipaparkan. Oleh itu, banyak program perangkak terus mencari antara muka data dan bukannya meminta halaman secara bodoh. Token digunakan untuk mengesahkan antara muka data bahagian belakang ini. Biasanya, Token disulitkan oleh gabungan kekunci masa dan halaman web.
Terdapat lebih banyak cara untuk mengenal pasti perangkak, yang saya tidak akan perkenalkan satu persatu di sini. Malangnya, tidak kira kaedah di atas yang digunakan untuk mengenal pasti perangkak web, sentiasa ada risiko untuk ditipu atau ditembusi oleh perangkak.
3. Tolak perangkak
Sama seperti tiada perlindungan keselamatan tapak web sekali-sekali, menutup port 3389 sepuluh tahun yang lalu boleh menghalang pelayan daripada menjadi bot . Pada masa kini, pelbagai Pelbagai firewall dan pelbagai langkah keselamatan telah ditambah, dan ia mungkin diperas kerana kerentanan 0Hari.
Selalu ada perjuangan dan peningkatan antara crawler dan anti-crawler. Perbezaan antara serangan siber dan pertahanan dan anti-merangkak ialah yang pertama adalah pertarungan tanpa halangan, manakala yang kedua melibatkan sarung tangan dan topi keledar seperti petinju yang bertanding di Sukan Olimpik.
Untuk mengendalikan laman web, perlu membuka kandungan kepada dunia luar, dan kandungan terbuka seperti bau bangkai dan darah yang melayang di padang rumput Afrika, secara langsung menarik kedatangan dubuk.
Adalah satu perkara yang sukar untuk mengimbangi antara kandungan terbuka dan mengelak daripada menjadi kumpulan perlombongan data untuk perangkak.
1. Hadkan pembukaan kandungan
Kandungan terbuka adalah asas untuk memperoleh pengguna dan trafik, jadi kandungan mesti terbuka. Tetapi keterbukaan kandungan bukanlah keterbukaan tanpa had. Pengguna yang tidak berdaftar boleh melihat satu atau dua bahagian kandungan, tetapi tidak mempunyai akses tanpa had kepada semua kandungan. Sekatan ini boleh berbentuk mekanisme pengesahan klik seperti log masuk, pengesahan kod imbasan atau akses kepada kod pengesahan Google.
Lebih banyak laman web telah menggunakan mekanisme pembukaan kandungan terhad, seperti Weibo, Zhihu, Taobao, dll. Anda boleh melihat satu atau dua halaman kandungan, tetapi jika anda masih mahu meneruskan, Maaf, sila log masuk.
2. Secara tingkah laku merekod operasi pengguna
Memerlukan pelawat log masuk tidak menyelesaikan masalah, kerana log masuk simulasi sentiasa menjadi cabang pembangunan program perangkak web yang popular, sama ada ia pengesahan imej Kod, teka-teki, peluncur atau mengklik aksara Cina semuanya akan dipecahkan. Menulis APP dan program perangkak boleh membenarkan kod pengesahan SMS berkomunikasi dengan tapak web.
Jadi merekodkan gelagat pengguna adalah penting Semua operasi pengguna dan gelagat akses perlu direkodkan Ini adalah asas untuk menganalisis dan memproses perangkak.
3. Tuntaskan dengan tegas tingkah laku frekuensi tinggi dari segi kawalan
Malah, terdapat juga banyak program perangkak yang tidak dijalankan untuk menggali data dan kandungan tapak web , hanya untuk memudahkan kerja pengumpulan dan pengisihan secara manual, gelagat perangkak jenis ini biasanya lebih tinggi daripada kekerapan penyemakan imbas manual, tetapi jauh lebih rendah daripada perangkak frekuensi tinggi seperti dubuk abaikan je. Teruskan satu barisan dalam hidup anda supaya kita boleh bertemu lagi di masa hadapan.
Walau bagaimanapun, langkah mesti diambil untuk tingkah laku perangkak frekuensi tinggi yang menjejaskan pengendalian pelayan tapak web. Menggabungkan maklumat pengguna dan IP untuk memproses pengguna atau IP yang berkaitan.
4. Pengisytiharan hak dalam perjanjian
Pemilik tapak web mesti mengisytiharkan dalam perjanjian laman web atau perjanjian pengguna bahawa penyemakan imbas biasa, akses dan pemerolehan data dibenarkan , dan untuk pengecualian , kekerapan tinggi dan mengancam kestabilan pelayan tapak web, kami akan berhak untuk memproses selanjutnya.
Atas ialah kandungan terperinci Apakah mata pengetahuan Python anti-crawler?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Tidak mustahil untuk melihat kata laluan MongoDB secara langsung melalui Navicat kerana ia disimpan sebagai nilai hash. Cara mendapatkan kata laluan yang hilang: 1. Tetapkan semula kata laluan; 2. Periksa fail konfigurasi (mungkin mengandungi nilai hash); 3. Semak Kod (boleh kata laluan Hardcode).

Sebagai profesional data, anda perlu memproses sejumlah besar data dari pelbagai sumber. Ini boleh menimbulkan cabaran kepada pengurusan data dan analisis. Nasib baik, dua perkhidmatan AWS dapat membantu: AWS Glue dan Amazon Athena.

Langkah -langkah untuk memulakan pelayan Redis termasuk: Pasang Redis mengikut sistem operasi. Mulakan perkhidmatan Redis melalui Redis-server (Linux/macOS) atau redis-server.exe (Windows). Gunakan redis-cli ping (linux/macOS) atau redis-cli.exe ping (windows) perintah untuk memeriksa status perkhidmatan. Gunakan klien Redis, seperti redis-cli, python, atau node.js untuk mengakses pelayan.

Untuk membaca giliran dari Redis, anda perlu mendapatkan nama giliran, membaca unsur -unsur menggunakan arahan LPOP, dan memproses barisan kosong. Langkah-langkah khusus adalah seperti berikut: Dapatkan nama giliran: Namakannya dengan awalan "giliran:" seperti "giliran: my-queue". Gunakan arahan LPOP: Keluarkan elemen dari kepala barisan dan kembalikan nilainya, seperti LPOP Queue: My-Queue. Memproses Baris kosong: Jika barisan kosong, LPOP mengembalikan nihil, dan anda boleh menyemak sama ada barisan wujud sebelum membaca elemen.

Soalan: Bagaimana untuk melihat versi pelayan Redis? Gunakan alat perintah Redis-cli -version untuk melihat versi pelayan yang disambungkan. Gunakan arahan pelayan INFO untuk melihat versi dalaman pelayan dan perlu menghuraikan dan mengembalikan maklumat. Dalam persekitaran kluster, periksa konsistensi versi setiap nod dan boleh diperiksa secara automatik menggunakan skrip. Gunakan skrip untuk mengautomasikan versi tontonan, seperti menyambung dengan skrip Python dan maklumat versi percetakan.

Keselamatan kata laluan Navicat bergantung pada gabungan penyulitan simetri, kekuatan kata laluan dan langkah -langkah keselamatan. Langkah -langkah khusus termasuk: menggunakan sambungan SSL (dengan syarat bahawa pelayan pangkalan data menyokong dan mengkonfigurasi sijil dengan betul), mengemas kini Navicat, menggunakan kaedah yang lebih selamat (seperti terowong SSH), menyekat hak akses, dan yang paling penting, tidak pernah merakam kata laluan.
