Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana cara menggunakan Scrapy untuk merangkak buku Douban dan penilaian serta ulasannya?

Bagaimana cara menggunakan Scrapy untuk merangkak buku Douban dan penilaian serta ulasannya?

WBOY
WBOYasal
2023-06-22 10:21:091723semak imbas

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:

  1. Merangkak 250 halaman teratas Buku Douban Tajuk buku, pengarang, penilaian dan bilangan ulasan dalam.
  2. Kembalikan data yang dirangkak dalam bentuk kamus.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn