Bolehkah Scrapy Mengendalikan Kandungan Dinamik pada Tapak Web AJAX?
Pustaka Scrapy Python menyediakan penyelesaian yang berkesan untuk mengikis tapak web dengan kandungan dinamik yang dimuatkan melalui AJAX. Untuk memahami cara Scrapy mencapai ini, mari kita terokai contoh menggunakan tapak web rubin-kazan.ru.
Tapak ini memuatkan mesej secara dinamik menggunakan AJAX. Menganalisis kod sumber mendedahkan URL dan data borang yang digunakan untuk permintaan AJAX. Dengan mensimulasikan permintaan ini dalam Scrapy, kami boleh mendapatkan semula data JSON yang diperlukan.
Berikut ialah coretan kod Scrapy yang dipermudahkan:
import scrapy from scrapy.http import FormRequest class spider(scrapy.Spider): name = 'RubiGuesst' start_urls = ['http://www.rubin-kazan.ru/guestbook.html'] def parse(self, response): url_list_gb_messages = re.search(r'url_list_gb_messages="(.*)"', response.body).group(1) yield FormRequest('http://www.rubin-kazan.ru' + url_list_gb_messages, callback=self.RubiGuessItem, formdata={'page': str(page + 1), 'uid': ''}) def RubiGuessItem(self, response): json_file = response.body
Secara hurai, kami mengekstrak URL yang diperlukan dan mensimulasikan yang pertama permintaan. Dalam RubiGuessItem, kami menangkap respons JSON daripada permintaan AJAX yang disimulasikan. Dengan menggunakan teknik ini, Scrapy boleh mengikis kandungan dinamik yang dimuatkan melalui AJAX dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Scrapy Boleh Mengekstrak Data dengan Cekap daripada Tapak Web yang Dimuat AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!