Mengikis Kandungan Dinamik daripada Tapak Web dipacu AJAX dengan Scrapy
Salah satu cabaran dalam mengikis web ialah mengekstrak data daripada tapak web yang menggunakan kandungan dinamik teknik memuatkan seperti AJAX. AJAX (JavaScript Asynchronous dan XML) membolehkan tapak web mengemas kini bahagian kandungan secara dinamik tanpa memuatkan semula keseluruhan halaman.
Bolehkah Scrapy Mengikis Kandungan Dinamik?
Ya, Scrapy boleh digunakan untuk mengikis kandungan dinamik dengan memanfaatkan sokongannya untuk permintaan HTTP dan JavaScript pemaparan.
Cara Scrapy Mengikis Kandungan Dinamik
Contoh: Mengikis Rubin-Kazan Buku pelawat
Labah-labah Scrapy berikut menunjukkan cara mengikis mesej tetamu dinamik daripada rubin-kazan.ru menggunakan AJAX:
import scrapy class RubiGuesstSpider(scrapy.Spider): name = 'RubiGuesst' start_urls = ['http://www.rubin-kazan.ru/guestbook.html'] # Parse the main page to find the AJAX URL def parse(self, response): url_list_gb_messages = re.search(r'url_list_gb_messages="(.*)"', response.body).group(1) yield scrapy.FormRequest('http://www.rubin-kazan.ru' + url_list_gb_messages, callback=self.scrape_messages, formdata={'page': str(page + 1), 'uid': ''}) # Scrape the dynamic JSON response with guest messages def scrape_messages(self, response): json_response = response.json() # Extract guest messages and their details
Atas ialah kandungan terperinci Bolehkah Scrapy Scrape Dynamic Content Dimuatkan melalui AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!