


mengikis web: Mengekstrak data dengan cekap dari laman web
Tutorial ini menerangkan bagaimana kandungan laman web diberikan dan bagaimana untuk mengikisnya menggunakan python, permintaan, sup cantik, dan selenium. Kami akan memberi tumpuan kepada mengikis kandungan dinamik, khususnya komen.
bilakah pengikis web diperlukan?
Web mengikis secara automatik mengambil, parses, dan mengekstrak maklumat dari laman web -selalunya yang direka untuk interaksi manusia. Ini adalah usaha terakhir ketika API tidak tersedia. Pertimbangkan kelemahan ini:
- kerapuhan: laman web sering berubah, memecahkan pengikis.
- Sekatan: Banyak laman web melarang mengikis.
- Prestasi: mengikis jumlah data yang besar boleh menjadi lambat dan mahal.
Memahami laman web moden
Mari kita periksa struktur aplikasi web biasa. Kami akan menggunakan artikel "Pengenalan kepada Vagrant" sebagai contoh. Untuk mengikis kandungan, kita mesti terlebih dahulu mencari elemen HTML yang berkaitan.
Melihat Sumber halaman
Pelayar membenarkan melihat sumber HTML. Sumber "Pengenalan kepada Vagrant" mendedahkan sebahagian besar JavaScript yang tidak berkaitan dengan kandungan artikel itu sendiri. Petikan kecil ditunjukkan di bawah:
statik vs pengikis dinamik
Statik Pengikis
Mengabaikan JavaScript, mengambil HTML sisi pelayan mentah. Ini berfungsi jika kandungan sasaran langsung di sumber. Walau bagaimanapun, untuk kandungan yang dihasilkan oleh JavaScript (Kandungan Dinamik), kaedah ini gagal. Pengikis dinamik menggunakan alat seperti selenium untuk berinteraksi dengan halaman sebagai penyemak imbas akan, menjadikan JavaScript dan membuat kandungan dinamik tersedia. mengikis komen dinamik dengan selenium
mari mengikis komen dari laman web (contoh: komen Codecanyon). Kami akan menggunakan Selenium untuk menavigasi ke URL Komen:
Mencari elemen komen memerlukan memeriksa halaman (klik kanan, "periksa"). Selenium's
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://codecanyon.net/item/whatshelp-whatsapp-help-and-support-plugin-for-javascript/42202303/comments')membantu mengendalikan pemuatan tak segerak:
WebDriverWait
from selenium.webdriver.common.by import By from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver = webdriver.Chrome() url = 'http://www.c2.com/loading-page' driver.get(url) element = WebDriverWait(driver, 5).until( EC.presence_of_element_located((By.ID, "loaded_element")) )
Pengikis web adalah berharga apabila data yang diperlukan tidak tersedia melalui API. Walaupun mencabar dengan aplikasi web moden, alat seperti permintaan, sup yang indah, dan selenium memudahkan proses.
Tutorial ini menggabungkan sumbangan dari Esther Vaati, pemaju perisian dan penulis untuk Envato Tuts.
Atas ialah kandungan terperinci Mengikis web moden dengan sup dan selenium yang indah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel ini membincangkan pernyataan baru "Match" Python yang diperkenalkan dalam versi 3.10, yang berfungsi sebagai setara dengan menukar pernyataan dalam bahasa lain. Ia meningkatkan kebolehbacaan kod dan menawarkan manfaat prestasi ke atas tradisional if-elif-el

Kumpulan Pengecualian dalam Python 3.11 Membenarkan mengendalikan pelbagai pengecualian secara serentak, meningkatkan pengurusan ralat dalam senario serentak dan operasi kompleks.

Fungsi anotasi dalam python Tambah metadata ke fungsi untuk pemeriksaan jenis, dokumentasi, dan sokongan IDE. Mereka meningkatkan kebolehbacaan kod, penyelenggaraan, dan penting dalam pembangunan API, sains data, dan penciptaan perpustakaan.

Artikel ini membincangkan ujian unit di Python, faedah mereka, dan bagaimana menulisnya dengan berkesan. Ia menyoroti alat seperti Unittest dan Pytest untuk ujian.

Artikel membincangkan penentu akses dalam Python, yang menggunakan konvensyen penamaan untuk menunjukkan keterlihatan ahli kelas, dan bukan penguatkuasaan yang ketat.

Artikel membincangkan kaedah Python \ _ _ _ _ _ \ _ () dan peranan diri dalam memulakan atribut objek. Kaedah kelas lain dan kesan warisan pada \ _ _ _ init \ _ \ _ () juga dilindungi.

Artikel ini membincangkan perbezaan antara @classmethod, @staticmethod, dan kaedah contoh dalam python, memperincikan sifat mereka, kes penggunaan, dan faedah. Ia menerangkan cara memilih jenis kaedah yang betul berdasarkan fungsi yang diperlukan dan da

Inpython, youAppendElementStoalistusingTheAppend () method.1) useAppend () forsingLements: my_list.append (4) .2) useextend () or = formultipleelements: my_list.extend (lain_list) ormy_list = [4,5,6] .3) UseInsert () ForSpecificPositions: my_list.insert (1,5) .beaware


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

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

Artikel Panas

Alat panas

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Dreamweaver CS6
Alat pembangunan web visual

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna
