Rumah >pembangunan bahagian belakang >Tutorial Python >Fahami ciri rangka kerja gores dan tingkatkan kecekapan pembangunan perangkak
Rangka kerja Scrapy ialah rangka kerja sumber terbuka berdasarkan Python, terutamanya digunakan untuk merangkak data tapak web Ia mempunyai ciri-ciri berikut:
Yang berikut akan memperkenalkan cara menggunakan rangka kerja Scrapy untuk meningkatkan kecekapan pembangunan perangkak melalui contoh kod khusus.
Mula-mula, kita perlu memasang rangka kerja Scrapy:
pip install scrapy
Seterusnya, kita boleh mencipta projek Scrapy baharu:
scrapy startproject myproject
Ini akan mencipta folder yang dipanggil "projek saya" dalam direktori semasa, yang mengandungi keseluruhan struktur asas projek Scrapy .
Mari kita tulis perangkak yang mudah. Katakan kita ingin mendapatkan tajuk filem, rating dan maklumat pengarah filem terbaru daripada laman web filem Douban. Mula-mula, kita perlu mencipta Labah-labah baharu:
import scrapy class DoubanSpider(scrapy.Spider): name = "douban" start_urls = [ 'https://movie.douban.com/latest', ] def parse(self, response): for movie in response.xpath('//div[@class="latest"]//li'): yield { 'title': movie.xpath('a/@title').extract_first(), 'rating': movie.xpath('span[@class="subject-rate"]/text()').extract_first(), 'director': movie.xpath('span[@class="subject-cast"]/text()').extract_first(), }
Dalam Labah-labah ini, kami mentakrifkan Labah-labah bernama "douban" dan menentukan URL awal sebagai URL halaman filem terbaharu rasmi Douban Movies. Dalam kaedah parse, kami menggunakan pemilih XPath untuk mengekstrak nama, penilaian dan maklumat pengarah bagi setiap filem dan menggunakan hasil untuk mengembalikan keputusan.
Seterusnya, kami boleh membuat tetapan yang berkaitan dalam fail settings.py projek, seperti menetapkan User-Agent dan meminta kelewatan:
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' DOWNLOAD_DELAY = 5
Di sini kami menetapkan User-Agent dan menetapkan kelewatan muat turun kepada 5 Saat.
Akhir sekali, kita boleh memulakan perangkak dari baris arahan dan mengeluarkan hasil:
scrapy crawl douban -o movies.json
Ini akan memulakan Spider yang baru kita buat dan mengeluarkan hasilnya ke fail yang dipanggil "movies.json".
Dengan menggunakan rangka kerja Scrapy, kami boleh membangunkan perangkak dengan cepat dan cekap tanpa perlu berurusan dengan terlalu banyak butiran sambungan rangkaian dan permintaan tak segerak. Fungsi berkuasa dan reka bentuk rangka kerja Scrapy yang mudah digunakan membolehkan kami menumpukan pada pengekstrakan dan pemprosesan data, sekali gus meningkatkan kecekapan pembangunan perangkak.
Atas ialah kandungan terperinci Fahami ciri rangka kerja gores dan tingkatkan kecekapan pembangunan perangkak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!