Jadual Kandungan
1. Pemasangan dan prosedur asas
2. Cara mencari dan mengekstrak data
3. Elakkan disekat atau mencetuskan mekanisme anti-keriting
Rumah pembangunan bahagian belakang Tutorial Python Teknik mengikis web asas menggunakan permintaan python dan cantik

Teknik mengikis web asas menggunakan permintaan python dan cantik

Jul 05, 2025 am 02:57 AM

Kaedah asas menggunakan Python untuk merangkak web adalah untuk menggabungkan permintaan dan indah, mula -mula menghantar permintaan untuk mendapatkan HTML, dan kemudian menghuraikan dan mengekstrak data. 1. Selepas memasang perpustakaan, gunakan permintaan.get () untuk mendapatkan kandungan laman web dan mengendalikan pengecualian; 2. BeautifulSoup Parses HTML, mencari elemen melalui find_all (), nama kelas, id, dan lain -lain dan mengekstrak teks atau pautan; 3. Tetapkan tajuk untuk mensimulasikan akses penyemak imbas, dan menambah kelewatan untuk mengelakkan mencetuskan mekanisme anti-keriting.

Teknik mengikis web asas menggunakan permintaan python dan cantik

Secara langsung jawab Soalan Tajuk: Menggunakan Python untuk Crawling Web, kaedah yang paling asas dan umum adalah untuk menggabungkan dua perpustakaan: permintaan dan indah. Mereka mudah dan praktikal untuk digunakan bersama, dan sesuai untuk pengekstrakan data halaman paling statik.

Teknik mengikis web asas menggunakan permintaan python dan cantik

1. Pemasangan dan prosedur asas

Untuk memulakan perjumpaan web, anda mesti memasang perpustakaan yang diperlukan:

Teknik mengikis web asas menggunakan permintaan python dan cantik
 PIP Pasang Permintaan Cantik4

Seluruh proses kira -kira dibahagikan kepada tiga langkah:

  • Gunakan requests untuk menghantar permintaan untuk mendapatkan kandungan laman web (HTML)
  • Menghuraikan html dengan BeautifulSoup
  • Ekstrak data yang diperlukan, seperti tajuk, perenggan atau pautan

Perkara yang paling penting dalam langkah ini adalah untuk memastikan bahawa kandungan halaman dapat diperoleh secara normal. Kadang -kadang ia akan gagal kerana sekatan pelayan atau masalah rangkaian, jadi disyorkan untuk menambah pengecualian, seperti:

Teknik mengikis web asas menggunakan permintaan python dan cantik
 permintaan import

url = 'https://example.com'
Cuba:
    respons = requests.get (url)
    response.raise_for_status () # Jika kod status tidak 200, pengecualian akan dilemparkan kecuali permintaan.RequestException sebagai e:
    cetak (f "permintaan gagal: {e}")

2. Cara mencari dan mengekstrak data

Selepas mendapat kandungan HTML, langkah seterusnya adalah untuk menghuraikan struktur. Anda boleh menggunakan BeautifulSoup untuk mencari tag, nama kelas, atau ID.

Amalan Biasa:

  • Cari semua nod kanak -kanak di bawah tag: .find_all()
  • Elemen penapis mengikut Nama Kelas: soup.find_all('div', class_='your-class')
  • Ekstrak kandungan teks: .get_text()
  • Dapatkan alamat pautan: .get('href')

Sebagai contoh, saya ingin mengekstrak semua tajuk dan pautan dalam halaman senarai berita:

 dari bs4 import cantikSoup

sup = indahSoup (response.text, 'html.parser')

untuk item dalam sup.find_all ('h2', kelas _ = 'post-title'):
    tajuk = item.get_text ()
    pautan = item.find ('a') ['href']
    Cetak (Tajuk, Pautan)

Harus diingat di sini bahawa struktur HTML laman web yang berbeza sangat berbeza. Adalah lebih baik untuk memeriksa kod sumber web secara manual untuk mengesahkan struktur, dan jangan buta menulis pemilih.


3. Elakkan disekat atau mencetuskan mekanisme anti-keriting

Walaupun ini hanyalah teknik merangkak asas, masalah anti-crawler tidak boleh diabaikan sepenuhnya. Banyak laman web akan bertindak balas terhadap permintaan yang kerap, seperti kod pengesahan yang kembali, menyekat IP, dll.

Beberapa cadangan yang mudah tetapi berkesan:

  • Tambahkan headers untuk mensimulasikan akses penyemak imbas:

     tajuk = {
        'Agen Pengguna': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Applewebkit/537.36 (khtml, seperti gecko) Chrome/91.0.4472.124 Safari/537.36'
    }
    Response = Requests.get (URL, Headers = Headers)
  • Tambahkan kelewatan rawak antara permintaan untuk mengelakkan akses berterusan terlalu cepat:

     masa import
    Import secara rawak
    
    time.sleep (random.uniform (1, 3))
  • Jangan hantar terlalu banyak permintaan, terutamanya semasa fasa ujian, menjaga lebih selamat dan perlahan.

  • Langkah-langkah ini tidak boleh 100% anti-pend-, tetapi mereka cukup dalam senario merangkak asas.


    Pada dasarnya itu sahaja. Walaupun gabungan permintaan yang indah adalah mudah, adalah baik untuk menangani kebanyakan halaman statik. Tidak ada keperluan untuk logik yang terlalu kompleks, kunci adalah biasa dengan struktur HTML dan penulisan pemilih CSS.

    Atas ialah kandungan terperinci Teknik mengikis web asas menggunakan permintaan python dan cantik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SQLALCHEMY 2.0 Amaran dan Sambungan Tutup Panduan Penyelesaian Masalah Tutup SQLALCHEMY 2.0 Amaran dan Sambungan Tutup Panduan Penyelesaian Masalah Tutup Aug 05, 2025 pm 07:57 PM

Artikel ini bertujuan untuk membantu pemula Sqlalchemy menyelesaikan peringatan "RemovedIn20warning" yang ditemui apabila menggunakan create_engine dan kesilapan penutupan "resourceclosederror" berikutnya. Artikel ini akan menerangkan punca amaran ini secara terperinci dan memberikan langkah -langkah tertentu dan contoh kod untuk menghapuskan amaran dan memperbaiki isu sambungan untuk memastikan anda dapat menanyakan dan mengendalikan pangkalan data dengan lancar.

Bagaimana untuk mengautomasikan kemasukan data dari Excel ke borang web dengan Python? Bagaimana untuk mengautomasikan kemasukan data dari Excel ke borang web dengan Python? Aug 12, 2025 am 02:39 AM

Kaedah mengisi data Excel ke dalam bentuk web menggunakan Python adalah: pertama menggunakan panda untuk membaca data Excel, dan kemudian gunakan selenium untuk mengawal penyemak imbas untuk mengisi secara automatik dan menyerahkan borang; Langkah -langkah khusus termasuk memasang pandas, openpyxl dan perpustakaan selenium, memuat turun pemacu penyemak imbas yang sepadan, menggunakan pandas untuk membaca nama, e -mel, telefon dan medan lain dalam fail data.xlsx, melancarkan pelayar melalui selenium untuk membuka. Bentuk dan proses semua baris data dalam gelung.

Contoh Data Python Pandas Styling Contoh Contoh Data Python Pandas Styling Contoh Aug 04, 2025 pm 01:43 PM

Menggunakan Pandasstyling dalam Jupyternotebook boleh mencapai paparan DataFrame yang indah. 1. Gunakan sorotan_max dan sorotan_min untuk menyerlahkan nilai maksimum (hijau) dan nilai minimum (merah) bagi setiap lajur; 2. Tambah warna latar belakang kecerunan (seperti blues atau merah) ke lajur angka melalui latar belakang_gradient untuk memaparkan saiz data secara visual; 3. Fungsi tersuai color_score digabungkan dengan applyMap untuk menetapkan warna teks untuk selang pecahan yang berbeza (≥90 hijau, 80 ~ 89 oren, 60 ~ 79 merah,

Cara mewujudkan persekitaran maya di python Cara mewujudkan persekitaran maya di python Aug 05, 2025 pm 01:05 PM

Untuk mewujudkan persekitaran maya Python, anda boleh menggunakan modul VENV. Langkah-langkahnya adalah: 1. Masukkan direktori projek untuk melaksanakan persekitaran python-mvenvenv untuk mewujudkan persekitaran; 2. Gunakan Sourceenv/Bin/Aktifkan ke Mac/Linux dan Env \ Scripts \ Aktifkan ke Windows; 3. Gunakan Pakej Pemasangan Pipinstall, PipFreeze> Keperluan.txt untuk mengeksport kebergantungan; 4. Berhati -hati untuk mengelakkan menyerahkan persekitaran maya ke Git, dan mengesahkan bahawa ia berada dalam persekitaran yang betul semasa pemasangan. Persekitaran maya boleh mengasingkan kebergantungan projek untuk mencegah konflik, terutamanya sesuai untuk pembangunan pelbagai projek, dan editor seperti pycharm atau vscode juga

Contoh Perpustakaan Jadual Python Contoh Perpustakaan Jadual Python Aug 04, 2025 am 10:33 AM

Gunakan perpustakaan Pythonschedule untuk melaksanakan tugas masa dengan mudah. Pertama, pasang perpustakaan melalui PipinstallSchedule, kemudian import modul jadual dan masa, tentukan fungsi yang perlu dilaksanakan dengan kerap, kemudian gunakan jadual.every () untuk menetapkan selang masa dan mengikat fungsi tugas. Akhirnya, panggilan jadual.run_pending () dan time.sleep (1) dalam beberapa gelung untuk terus menjalankan tugas; Sebagai contoh, jika anda melaksanakan tugas setiap 10 saat, anda boleh menulisnya sebagai jadual. Setiap (10) .seconds.do (pekerjaan), yang menyokong penjadualan oleh minit, jam, hari, minggu, dan lain -lain, dan anda juga boleh menentukan tugas tertentu.

Bagaimana untuk mengendalikan dataset besar di Python yang tidak sesuai dengan ingatan? Bagaimana untuk mengendalikan dataset besar di Python yang tidak sesuai dengan ingatan? Aug 14, 2025 pm 01:00 PM

Apabila memproses set data besar yang melebihi memori dalam python, mereka tidak boleh dimuatkan ke dalam RAM pada satu masa. Sebaliknya, strategi seperti pemprosesan pemprosesan, penyimpanan cakera atau streaming harus diterima pakai; Fail CSV boleh dibaca dalam ketulan melalui parameter Pandas 'dan blok diproses oleh blok. Dask boleh digunakan untuk merealisasikan penjadualan dan penjadualan tugas yang serupa dengan sintaks pandas untuk menyokong operasi data memori yang besar. Tulis fungsi penjana untuk membaca fail teks mengikut baris untuk mengurangkan penggunaan memori. Gunakan format penyimpanan kolumnar parket yang digabungkan dengan pyarrow untuk membaca lajur atau kumpulan baris tertentu dengan cekap. Gunakan Memmap Numpy untuk memori peta tatasusunan berangka besar untuk mengakses serpihan data pada permintaan, atau menyimpan data dalam data ringan seperti SQLite atau DuckDB.

Python Logging to File Contoh Python Logging to File Contoh Aug 04, 2025 pm 01:37 PM

Modul pembalakan Python boleh menulis log ke fail melalui FileHandler. Pertama, hubungi pemproses dan format fail konfigurasi BasicConfig, seperti menetapkan tahap ke maklumat, menggunakan FileHandler untuk menulis app.log; Kedua, tambah StreamHandler untuk mencapai output ke konsol pada masa yang sama; Senario lanjutan boleh menggunakan timedrotatingfilehandler untuk membahagikan log mengikut masa, sebagai contoh, menetapkan apabila = 'tengah malam' untuk menghasilkan fail baru setiap hari dan menyimpan 7 hari sandaran, dan pastikan bahawa direktori log wujud; Adalah disyorkan untuk menggunakan getLogger (__ name__) untuk membuat pembalak bernama, dan menghasilkan

HDF5 Nama Dataset Konflik dan Nama Kumpulan: Penyelesaian dan Amalan Terbaik HDF5 Nama Dataset Konflik dan Nama Kumpulan: Penyelesaian dan Amalan Terbaik Aug 23, 2025 pm 01:15 PM

Artikel ini menyediakan penyelesaian terperinci dan amalan terbaik untuk masalah yang nama dataset bertentangan dengan nama kumpulan ketika mengendalikan fail HDF5 menggunakan perpustakaan H5PY. Artikel ini akan menganalisis punca konflik secara mendalam dan memberikan contoh kod untuk menunjukkan cara untuk menghindari dan menyelesaikan masalah tersebut dengan berkesan untuk memastikan bacaan dan penulisan fail HDF5 yang betul. Melalui artikel ini, pembaca akan dapat lebih memahami struktur fail HDF5 dan menulis lebih banyak kod H5PY yang mantap.

See all articles