


Mengikis web moden dengan sup dan selenium yang indah
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')
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!

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

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











Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

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

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

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.
