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?

Jun 22, 2023 am 10:21 AM
Douban Merangkak scrapy

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
Salin selepas log masuk

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
Salin selepas log masuk

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}
Salin selepas log masuk

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
Salin selepas log masuk

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 Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Scrapy melaksanakan rangkak dan analisis artikel akaun awam WeChat Jun 22, 2023 am 09:41 AM

Scrapy melaksanakan rangkak artikel dan analisis akaun awam WeChat WeChat ialah aplikasi media sosial yang popular dalam beberapa tahun kebelakangan ini, dan akaun awam yang dikendalikan di dalamnya juga memainkan peranan yang sangat penting. Seperti yang kita sedia maklum, akaun awam WeChat adalah lautan maklumat dan pengetahuan, kerana setiap akaun awam boleh menerbitkan artikel, mesej grafik dan maklumat lain. Maklumat ini boleh digunakan secara meluas dalam banyak bidang, seperti laporan media, penyelidikan akademik, dsb. Jadi, artikel ini akan memperkenalkan cara menggunakan rangka kerja Scrapy untuk merangkak dan menganalisis artikel akaun awam WeChat. Scr

Pengikisan metadata menggunakan New York Times API Pengikisan metadata menggunakan New York Times API Sep 02, 2023 pm 10:13 PM

Pengenalan Minggu lepas, saya menulis pengenalan tentang mengikis halaman web untuk mengumpul metadata, dan menyebut bahawa adalah mustahil untuk mengikis laman web New York Times. The New York Times paywall menyekat percubaan anda untuk mengumpul metadata asas. Tetapi ada cara untuk menyelesaikan masalah ini menggunakan API New York Times. Baru-baru ini saya mula membina tapak web komuniti pada platform Yii, yang akan saya terbitkan dalam tutorial akan datang. Saya mahu dapat menambahkan pautan yang berkaitan dengan kandungan tapak dengan mudah. Walaupun orang ramai boleh menampal URL ke dalam borang dengan mudah, memberikan tajuk dan maklumat sumber memakan masa. Jadi dalam tutorial hari ini saya akan melanjutkan kod mengikis yang saya tulis baru-baru ini untuk memanfaatkan New York Times API untuk mengumpulkan tajuk berita apabila menambah pautan ke New York Times. Ingat, saya terlibat

Kaedah pelaksanaan pemuatan asynchronous Scrapy berdasarkan Ajax Kaedah pelaksanaan pemuatan asynchronous Scrapy berdasarkan Ajax Jun 22, 2023 pm 11:09 PM

Scrapy ialah rangka kerja perangkak Python sumber terbuka yang boleh mendapatkan data daripada tapak web dengan cepat dan cekap. Walau bagaimanapun, banyak tapak web menggunakan teknologi pemuatan tak segerak Ajax, menjadikannya mustahil untuk Scrapy mendapatkan data secara langsung. Artikel ini akan memperkenalkan kaedah pelaksanaan Scrapy berdasarkan pemuatan tak segerak Ajax. 1. Prinsip pemuatan tak segerak Ajax Pemuatan tak segerak Ajax: Dalam kaedah pemuatan halaman tradisional, selepas pelayar menghantar permintaan kepada pelayan, ia mesti menunggu pelayan mengembalikan respons dan memuatkan keseluruhan halaman sebelum meneruskan ke langkah seterusnya.

Bagaimana untuk menetapkan mod Bahasa Inggeris pada aplikasi Douban Bagaimana untuk menetapkan mod Bahasa Inggeris pada aplikasi Douban Bagaimana untuk menetapkan mod Bahasa Inggeris pada aplikasi Douban Bagaimana untuk menetapkan mod Bahasa Inggeris pada aplikasi Douban Mar 12, 2024 pm 02:46 PM

Bagaimana untuk menetapkan mod bahasa Inggeris pada aplikasi Douban? Aplikasi Douban ialah perisian yang membolehkan anda melihat ulasan pelbagai sumber Perisian ini mempunyai banyak fungsi Apabila pengguna menggunakan perisian ini buat kali pertama, mereka perlu log masuk, dan bahasa lalai pada perisian ini adalah Untuk mod Cina, beberapa. pengguna suka menggunakan mod Bahasa Inggeris, tetapi mereka tidak tahu cara menetapkan mod Bahasa Inggeris pada perisian ini. Editor di bawah telah menyusun kaedah menetapkan mod Bahasa Inggeris untuk rujukan anda. Cara menetapkan mod Bahasa Inggeris pada aplikasi Douban: 1. Buka aplikasi "Douban" pada telefon anda 2. Klik "Saya" 3. Pilih "Tetapan" di sudut kanan atas.

Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn Analisis kes buruk: Cara merangkak maklumat syarikat di LinkedIn Jun 23, 2023 am 10:04 AM

Scrapy ialah rangka kerja perangkak berasaskan Python yang boleh mendapatkan maklumat berkaitan dengan cepat dan mudah di Internet. Dalam artikel ini, kami akan menggunakan kes Scrapy untuk menganalisis secara terperinci cara merangkak maklumat syarikat di LinkedIn. Tentukan URL sasaran Mula-mula, kita perlu menjelaskan dengan jelas bahawa sasaran kita ialah maklumat syarikat di LinkedIn. Oleh itu, kita perlu mencari URL halaman maklumat syarikat LinkedIn. Buka laman web LinkedIn, masukkan nama syarikat dalam kotak carian, dan

Bagaimana untuk merangkak dan memproses data dengan memanggil antara muka API dalam projek PHP? Bagaimana untuk merangkak dan memproses data dengan memanggil antara muka API dalam projek PHP? Sep 05, 2023 am 08:41 AM

Bagaimana untuk merangkak dan memproses data dengan memanggil antara muka API dalam projek PHP? 1. Pengenalan Dalam projek PHP, kita selalunya perlu merangkak data dari tapak web lain dan memproses data ini. Banyak tapak web menyediakan antara muka API, dan kami boleh mendapatkan data dengan memanggil antara muka ini. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memanggil antara muka API untuk merangkak dan memproses data. 2. Dapatkan URL dan parameter antara muka API Sebelum memulakan, kita perlu mendapatkan URL antara muka API sasaran dan parameter yang diperlukan.

Petua pengoptimuman buruk: Cara mengurangkan rangkak URL pendua dan meningkatkan kecekapan Petua pengoptimuman buruk: Cara mengurangkan rangkak URL pendua dan meningkatkan kecekapan Jun 22, 2023 pm 01:57 PM

Scrapy ialah rangka kerja perangkak Python yang berkuasa yang boleh digunakan untuk mendapatkan sejumlah besar data daripada Internet. Walau bagaimanapun, apabila membangunkan Scrapy, kami sering menghadapi masalah merangkak URL pendua, yang membuang banyak masa dan sumber serta menjejaskan kecekapan. Artikel ini akan memperkenalkan beberapa teknik pengoptimuman Scrapy untuk mengurangkan rangkak URL pendua dan meningkatkan kecekapan perangkak Scrapy. 1. Gunakan atribut start_urls dan allowed_domains dalam perangkak Scrapy untuk

Filem thriller angkasa lepas 'Alien' mendapat markah 7.7 di Douban, dan box office melebihi 100 juta sehari selepas tayangannya. Filem thriller angkasa lepas 'Alien' mendapat markah 7.7 di Douban, dan box office melebihi 100 juta sehari selepas tayangannya. Aug 17, 2024 pm 10:50 PM

Menurut berita dari laman web ini pada 17 Ogos, filem thriller angkasa lepas "Alien: The Last Ship" oleh 20th Century Pictures telah dikeluarkan di tanah besar China semalam (16 Ogos) diumumkan hari ini sebagai 7.7. Menurut data masa nyata dari Beacon Professional Edition, setakat 20:5 pada 17 Ogos, box office filem itu telah melebihi 100 juta. Taburan penilaian di laman web ini adalah seperti berikut: 5 bintang menyumbang 20.9% 4 bintang menyumbang 49.5% 3 bintang menyumbang 25.4% 2 bintang menyumbang 3.7% 1 bintang menyumbang 0.6% "Alien: Death Ship" dihasilkan oleh 20th Century Pictures , Ridley Scott, pengarah "Blade Runner" dan "Prometheus", bertindak sebagai penerbit, diarahkan oleh Fede Alvare, ditulis oleh Fede Alvare dan Rodo Seiagues, dan Card Leigh Spaeny, Isabella Merced, Aileen Wu, Spike Fey

See all articles