Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana cara menggunakan Scrapy untuk merangkak buku Douban dan penilaian serta ulasannya?
Dengan perkembangan Internet, orang ramai semakin bergantung kepada Internet untuk mendapatkan maklumat. Bagi pencinta buku, Douban Books telah menjadi platform yang sangat diperlukan. Selain itu, Douban Books juga menyediakan banyak penilaian dan ulasan buku, membolehkan pembaca memahami buku dengan lebih komprehensif. Walau bagaimanapun, mendapatkan maklumat ini secara manual adalah sama dengan mencari jarum dalam timbunan jerami Pada masa ini, kita boleh menggunakan alat Scrapy untuk merangkak data.
Scrapy ialah rangka kerja perangkak web sumber terbuka berdasarkan Python yang membantu kami mengekstrak data daripada tapak web dengan cekap. Dalam artikel ini, saya akan menumpukan pada langkah-langkah dan memperkenalkan secara terperinci cara menggunakan Scrapy untuk merangkak buku Douban dan penilaian serta ulasannya.
Langkah 1: Pasang Scrapy
Mula-mula, anda perlu memasang Scrapy pada komputer anda. Jika anda telah memasang pip (alat pengurusan pakej Python), anda hanya perlu memasukkan arahan berikut dalam terminal atau baris arahan:
pip install scrapy
Dengan cara ini, Scrapy akan dipasang pada komputer anda. Jika ralat atau amaran berlaku, adalah disyorkan untuk membuat pelarasan yang sesuai mengikut gesaan.
Langkah 2: Buat projek Scrapy baharu
Seterusnya, kita perlu memasukkan arahan berikut dalam terminal atau baris arahan untuk mencipta projek Scrapy baharu:
scrapy startproject douban
Ini arahan akan berada dalam Cipta folder bernama douban dalam direktori semasa, yang mengandungi fail asas dan struktur direktori Scrapy.
Langkah 3: Tulis program perangkak
Dalam Scrapy, kita perlu menulis program perangkak untuk memberitahu Scrapy cara mengekstrak data daripada tapak web. Oleh itu, kita perlu mencipta fail baharu bernama douban_spider.py
dan menulis kod berikut:
import scrapy class DoubanSpider(scrapy.Spider): name = 'douban' allowed_domains = ['book.douban.com'] start_urls = ['https://book.douban.com/top250'] def parse(self, response): selector = scrapy.Selector(response) books = selector.xpath('//tr[@class="item"]') for book in books: title = book.xpath('td[2]/div[1]/a/@title').extract_first() author = book.xpath('td[2]/div[1]/span[1]/text()').extract_first() score = book.xpath('td[2]/div[2]/span[@class="rating_nums"]/text()').extract_first() comment_count = book.xpath('td[2]/div[2]/span[@class="pl"]/text()').extract_first() comment_count = comment_count.strip('()') yield {'title': title, 'author': author, 'score': score, 'comment_count': comment_count}
Kod di atas melaksanakan dua fungsi:
Dalam program ini, kita perlu mentakrifkan kelas DoubanSpider
dahulu dan menentukan nama perangkak, nama domain dan URL permulaan yang perangkak dibenarkan untuk mengakses. Dalam kaedah parse
, kami menghuraikan halaman HTML melalui objek scrapy.Selector
dan menggunakan ungkapan XPath untuk mendapatkan maklumat yang berkaitan tentang buku.
Selepas mendapatkan data, kami menggunakan kata kunci yield
untuk mengembalikan data dalam bentuk kamus. Fungsi kata kunci yield
di sini adalah untuk menukar fungsi menjadi penjana untuk mencapai kesan mengembalikan satu data pada satu masa. Dalam Scrapy, kami boleh mencapai rangkak data tapak web yang cekap dengan mentakrifkan penjana.
Langkah 4: Jalankan program crawler
Selepas menulis program crawler, kita perlu menjalankan kod berikut dalam terminal atau baris arahan untuk memulakan program crawler:
scrapy crawl douban -o result.json
Ini Fungsi arahan adalah untuk memulakan perangkak bernama douban
dan mengeluarkan data yang dirangkak ke fail result.json dalam format JSON.
Melalui empat langkah di atas, kami boleh berjaya merangkak buku Douban dan penilaian serta maklumat ulasannya. Sudah tentu, jika anda perlu meningkatkan lagi kecekapan dan kestabilan program perangkak, anda juga perlu membuat beberapa pengoptimuman dan pelarasan lain. Contohnya: menetapkan masa tunda, menghalang mekanisme anti-merangkak, dsb.
Ringkasnya, menggunakan Scrapy untuk merangkak buku Douban dan penilaian serta maklumat ulasannya adalah tugas yang agak mudah dan menarik. Jika anda berminat dengan merangkak data dan pengaturcaraan Python, anda boleh terus mencuba merangkak data dari tapak web lain untuk meningkatkan kemahiran pengaturcaraan anda.
Atas ialah kandungan terperinci Bagaimana cara menggunakan Scrapy untuk merangkak buku Douban dan penilaian serta ulasannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!