Rumah pembangunan bahagian belakang Tutorial Python Mesti dibaca untuk perangkak baharu: Panduan Bermula Scrapy

Mesti dibaca untuk perangkak baharu: Panduan Bermula Scrapy

Jun 22, 2023 am 09:05 AM
bermula reptilia scrapy

Dari segi pemerolehan data, perangkak web telah menjadi alat yang sangat diperlukan. Walau bagaimanapun, bagi mereka yang baru mempelajari dan menguasai teknik mengikis web, memilih alat dan rangka kerja yang betul boleh mengelirukan. Di antara banyak alat merangkak web, Scrapy ialah alat yang sangat popular. Scrapy ialah rangka kerja Python sumber terbuka yang menyediakan pendekatan yang fleksibel untuk memproses dan mengekstrak data.

Dalam artikel ini, saya akan memperkenalkan anda kepada asas Scrapy dan memperkenalkan cara membina perangkak web mudah dalam Scrapy.

1. Panduan Bermula Scrapy

  1. Memasang Scrapy

Sebelum anda bermula, anda perlu memasang Scrapy terlebih dahulu. Pemasangan Scrapy adalah sangat mudah, cuma laksanakan arahan berikut dalam baris arahan:

pip install scrapy
Salin selepas log masuk
  1. Mencipta projek Scrapy

Apabila mencipta projek Scrapy, anda boleh menggunakan arahan berikut:

scrapy startproject <project_name>
Salin selepas log masuk

Ini akan mencipta folder bernama dalam direktori semasa dan mencipta fail dan folder yang diperlukan di dalamnya.

  1. Cipta Spider

Dalam Scrapy, Spider ialah komponen utama yang kami gunakan untuk merangkak data. Spider mentakrifkan cara mula meminta URL, cara mengikuti pautan, cara menghuraikan halaman, dsb. Dalam Scrapy, kita boleh menggunakan arahan berikut untuk mencipta Spider:

scrapy genspider <spider_name> <domain_name>
Salin selepas log masuk

Ini akan mencipta Spider baharu dalam projek dan menyimpannya dalam direktori spiders. Anda boleh menentukan permintaan dan kaedah penghuraian yang kami perlukan dengan mengedit Spider.

  1. Mengkonfigurasi tapak web untuk dirangkak

Adalah sangat penting untuk mengkonfigurasi tapak web untuk dirangkak. Kami perlu menentukan URL tapak web untuk dirangkak dalam fail Spider, dan cara mengkonfigurasi permintaan. Dalam Scrapy, fungsi ini boleh dicapai dengan menulis kaedah start_requests. Kaedah ini akan dipanggil apabila Spider bermula dan menghantar permintaan daripada URL tertentu.

  1. Penghuraian halaman

Dalam Scrapy, menghuraikan halaman web ialah langkah yang paling penting. Kami boleh menggunakan pemilih XPath atau CSS untuk menghuraikan halaman untuk mengekstrak data yang diperlukan. Dalam kod Spider, anda boleh menghuraikan halaman dengan menulis kaedah parse dan menggunakan alat di atas.

  1. Menyimpan Data

Akhir sekali, kita perlu menyimpan data yang diekstrak dalam pangkalan data atau fail. Dalam Scrapy, anda boleh menggunakan Pipeline untuk mencapai operasi ini. Saluran paip ialah mekanisme untuk memproses data Ia mentakrifkan kaedah khusus untuk pembersihan data, penapisan, transformasi, penyimpanan, output, dll.

2. Contoh mudah

Seterusnya, kami akan menulis Spider mudah dan menggunakan Scrapy untuk mengambil data 250 filem Douban Teratas. Mula-mula, buat projek baharu menggunakan arahan berikut dalam baris arahan:

scrapy startproject tutorial
Salin selepas log masuk

Pergi ke folder tutorial dan buat labah-labah bernama douban_spider:

scrapy genspider douban_spider movie.douban.com
Salin selepas log masuk

Seterusnya, kita perlu mengkonfigurasi labah-labah untuk Minta halaman dan huraikan halaman web. Tambahkan kod berikut pada fail Spider:

import scrapy

class DoubanSpider(scrapy.Spider):
    name = "douban"
    allowed_domains = ["movie.douban.com"]
    start_urls = [
        "https://movie.douban.com/top250"
    ]

    def parse(self, response):
        for sel in response.xpath('//div[@class="info"]'):
            title = sel.xpath('div[@class="hd"]/a/span/text()').extract()
            yield {'title': title}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mentakrifkan nama Spider dan nama domain tapak web yang dirangkak. Seterusnya, kami mentakrifkan URL yang ingin kami rangkak dan menulis kaedah penghuraian untuk menghuraikan halaman dan mengekstrak data yang kami perlukan.

Untuk setiap elemen dengan atribut kelas "info", kami menggunakan XPath untuk mengekstrak elemen yang mengandungi tajuk filem dan mengembalikan elemen ini menggunakan kata kunci hasil.

Akhir sekali, kita perlu menyimpan data yang diekstrak. Talian Paip baharu boleh dibuat untuk memproses dan menyimpan data yang diekstrak. Berikut ialah Pipeline mudah yang menyimpan data yang diekstrak dalam fail JSON:

import json

class TutorialPipeline(object):

    def __init__(self):
        self.file = open('douban_top250.json', 'w')

    def process_item(self, item, spider):
        line = json.dumps(dict(item)) + "
"
        self.file.write(line)
        return item

    def spider_closed(self, spider):
        self.file.close()
Salin selepas log masuk

Akhir sekali, kita perlu mengkonfigurasi Pipeline dalam settings.py. Hanya tambahkan kod berikut dalam ITEM_PIPELINES:

ITEM_PIPELINES = {
    'tutorial.pipelines.TutorialPipeline': 100,
}
Salin selepas log masuk

Kini kami telah menulis Scrapy Spider yang mudah dan boleh memulakannya dengan melaksanakan arahan berikut:

scrapy crawl douban
Salin selepas log masuk

Laksanakan Selepas arahan, Scrapy akan mula meminta halaman dan menghuraikan data. Data yang diekstrak akan disimpan dalam fail JSON.

3. Kesimpulan

Scrapy ialah rangka kerja perangkak web yang sangat fleksibel dan berkuasa. Dengan Scrapy, kami boleh membina perangkak web yang cekap dan berskala serta mengekstrak data yang diperlukan dengan mudah. Artikel ini memperkenalkan asas Scrapy dan menyediakan contoh mudah, dengan harapan dapat membantu orang baru yang mempelajari perangkak web.

Atas ialah kandungan terperinci Mesti dibaca untuk perangkak baharu: Panduan Bermula Scrapy. 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

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

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)

Tutorial Model Penyebaran Bernilai Masa Anda, dari Universiti Purdue Tutorial Model Penyebaran Bernilai Masa Anda, dari Universiti Purdue Apr 07, 2024 am 09:01 AM

Penyebaran bukan sahaja boleh meniru lebih baik, tetapi juga "mencipta". Model resapan (DiffusionModel) ialah model penjanaan imej. Berbanding dengan algoritma yang terkenal seperti GAN dan VAE dalam bidang AI, model resapan mengambil pendekatan yang berbeza. Idea utamanya ialah proses menambah hingar pada imej dan kemudian secara beransur-ansur menolaknya. Cara mengecilkan dan memulihkan imej asal adalah bahagian teras algoritma. Algoritma akhir mampu menghasilkan imej daripada imej bising rawak. Dalam beberapa tahun kebelakangan ini, pertumbuhan luar biasa AI generatif telah membolehkan banyak aplikasi menarik dalam penjanaan teks ke imej, penjanaan video dan banyak lagi. Prinsip asas di sebalik alat generatif ini ialah konsep resapan, mekanisme pensampelan khas yang mengatasi batasan kaedah sebelumnya.

Hasilkan PPT dengan satu klik! Kimi: Biarlah 'pekerja migran PPT' menjadi popular dahulu Hasilkan PPT dengan satu klik! Kimi: Biarlah 'pekerja migran PPT' menjadi popular dahulu Aug 01, 2024 pm 03:28 PM

Kimi: Hanya dalam satu ayat, dalam sepuluh saat sahaja, PPT akan siap. PPT sangat menjengkelkan! Untuk mengadakan mesyuarat, anda perlu mempunyai PPT; untuk menulis laporan mingguan, anda perlu mempunyai PPT untuk membuat pelaburan, anda perlu menunjukkan PPT walaupun anda menuduh seseorang menipu, anda perlu menghantar PPT. Kolej lebih seperti belajar jurusan PPT Anda menonton PPT di dalam kelas dan melakukan PPT selepas kelas. Mungkin, apabila Dennis Austin mencipta PPT 37 tahun lalu, dia tidak menyangka satu hari nanti PPT akan berleluasa. Bercakap tentang pengalaman sukar kami membuat PPT membuatkan kami menitiskan air mata. "Ia mengambil masa tiga bulan untuk membuat PPT lebih daripada 20 muka surat, dan saya menyemaknya berpuluh-puluh kali. Saya rasa ingin muntah apabila saya melihat PPT itu." ialah PPT." Jika anda mengadakan mesyuarat dadakan, anda harus melakukannya

Semua anugerah CVPR 2024 diumumkan! Hampir 10,000 orang menghadiri persidangan itu di luar talian dan seorang penyelidik Cina dari Google memenangi anugerah kertas terbaik Semua anugerah CVPR 2024 diumumkan! Hampir 10,000 orang menghadiri persidangan itu di luar talian dan seorang penyelidik Cina dari Google memenangi anugerah kertas terbaik Jun 20, 2024 pm 05:43 PM

Pada awal pagi 20 Jun, waktu Beijing, CVPR2024, persidangan penglihatan komputer antarabangsa teratas yang diadakan di Seattle, secara rasmi mengumumkan kertas kerja terbaik dan anugerah lain. Pada tahun ini, sebanyak 10 kertas memenangi anugerah, termasuk 2 kertas terbaik dan 2 kertas pelajar terbaik Selain itu, terdapat 2 pencalonan kertas terbaik dan 4 pencalonan kertas pelajar terbaik. Persidangan teratas dalam bidang visi komputer (CV) ialah CVPR, yang menarik sejumlah besar institusi penyelidikan dan universiti setiap tahun. Mengikut statistik, sebanyak 11,532 kertas telah diserahkan tahun ini, 2,719 daripadanya diterima, dengan kadar penerimaan 23.6%. Menurut analisis statistik data CVPR2024 Institut Teknologi Georgia, dari perspektif topik penyelidikan, bilangan kertas terbesar ialah sintesis dan penjanaan imej dan video (Imageandvideosyn

Daripada logam kosong kepada model besar dengan 70 bilion parameter, berikut ialah tutorial dan skrip sedia untuk digunakan Daripada logam kosong kepada model besar dengan 70 bilion parameter, berikut ialah tutorial dan skrip sedia untuk digunakan Jul 24, 2024 pm 08:13 PM

Kami tahu bahawa LLM dilatih pada kelompok komputer berskala besar menggunakan data besar-besaran Tapak ini telah memperkenalkan banyak kaedah dan teknologi yang digunakan untuk membantu dan menambah baik proses latihan LLM. Hari ini, perkara yang ingin kami kongsikan ialah artikel yang mendalami teknologi asas dan memperkenalkan cara menukar sekumpulan "logam kosong" tanpa sistem pengendalian pun menjadi gugusan komputer untuk latihan LLM. Artikel ini datang daripada Imbue, sebuah permulaan AI yang berusaha untuk mencapai kecerdasan am dengan memahami cara mesin berfikir. Sudah tentu, mengubah sekumpulan "logam kosong" tanpa sistem pengendalian menjadi gugusan komputer untuk latihan LLM bukanlah proses yang mudah, penuh dengan penerokaan dan percubaan dan kesilapan, tetapi Imbue akhirnya berjaya melatih LLM dengan 70 bilion parameter proses terkumpul

AI sedang digunakan |. AI mencipta vlog kehidupan seorang gadis yang tinggal bersendirian, yang menerima berpuluh ribu suka dalam masa 3 hari AI sedang digunakan |. AI mencipta vlog kehidupan seorang gadis yang tinggal bersendirian, yang menerima berpuluh ribu suka dalam masa 3 hari Aug 07, 2024 pm 10:53 PM

Editor Laporan Kuasa Mesin: Yang Wen Gelombang kecerdasan buatan yang diwakili oleh model besar dan AIGC telah mengubah cara kita hidup dan bekerja secara senyap-senyap, tetapi kebanyakan orang masih tidak tahu cara menggunakannya. Oleh itu, kami telah melancarkan lajur "AI dalam Penggunaan" untuk memperkenalkan secara terperinci cara menggunakan AI melalui kes penggunaan kecerdasan buatan yang intuitif, menarik dan padat serta merangsang pemikiran semua orang. Kami juga mengalu-alukan pembaca untuk menyerahkan kes penggunaan yang inovatif dan praktikal. Pautan video: https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ Baru-baru ini, vlog kehidupan seorang gadis yang tinggal bersendirian menjadi popular di Xiaohongshu. Animasi gaya ilustrasi, ditambah dengan beberapa perkataan penyembuhan, boleh diambil dengan mudah dalam beberapa hari sahaja.

Lima perisian pengaturcaraan untuk memulakan pembelajaran bahasa C Lima perisian pengaturcaraan untuk memulakan pembelajaran bahasa C Feb 19, 2024 pm 04:51 PM

Sebagai bahasa pengaturcaraan yang digunakan secara meluas, bahasa C merupakan salah satu bahasa asas yang mesti dipelajari bagi mereka yang ingin melibatkan diri dalam pengaturcaraan komputer. Walau bagaimanapun, bagi pemula, mempelajari bahasa pengaturcaraan baharu boleh menjadi sukar, terutamanya disebabkan kekurangan alat pembelajaran dan bahan pengajaran yang berkaitan. Dalam artikel ini, saya akan memperkenalkan lima perisian pengaturcaraan untuk membantu pemula memulakan bahasa C dan membantu anda bermula dengan cepat. Perisian pengaturcaraan pertama ialah Code::Blocks. Code::Blocks ialah persekitaran pembangunan bersepadu sumber terbuka (IDE) percuma untuk

Mesti dibaca untuk pemula teknikal: Analisis tahap kesukaran bahasa C dan Python Mesti dibaca untuk pemula teknikal: Analisis tahap kesukaran bahasa C dan Python Mar 22, 2024 am 10:21 AM

Tajuk: Wajib dibaca untuk pemula teknikal: Analisis kesukaran bahasa C dan Python, memerlukan contoh kod khusus Dalam era digital hari ini, teknologi pengaturcaraan telah menjadi keupayaan yang semakin penting. Sama ada anda ingin bekerja dalam bidang seperti pembangunan perisian, analisis data, kecerdasan buatan, atau hanya belajar pengaturcaraan kerana minat, memilih bahasa pengaturcaraan yang sesuai ialah langkah pertama. Di antara banyak bahasa pengaturcaraan, bahasa C dan Python adalah dua bahasa pengaturcaraan yang digunakan secara meluas, masing-masing mempunyai ciri tersendiri. Artikel ini akan menganalisis tahap kesukaran bahasa C dan Python

Mengira 12 titik kesakitan RAG, arkitek kanan NVIDIA mengajar penyelesaian Mengira 12 titik kesakitan RAG, arkitek kanan NVIDIA mengajar penyelesaian Jul 11, 2024 pm 01:53 PM

Retrieval-augmented generation (RAG) ialah teknik yang menggunakan perolehan semula untuk meningkatkan model bahasa. Secara khusus, sebelum model bahasa menjana jawapan, ia mendapatkan semula maklumat yang berkaitan daripada pangkalan data dokumen yang luas dan kemudian menggunakan maklumat ini untuk membimbing proses penjanaan. Teknologi ini boleh meningkatkan ketepatan dan perkaitan kandungan dengan banyak, mengurangkan masalah halusinasi dengan berkesan, meningkatkan kelajuan kemas kini pengetahuan, dan meningkatkan kebolehkesanan penjanaan kandungan. RAG sudah pasti salah satu bidang penyelidikan kecerdasan buatan yang paling menarik. Untuk butiran lanjut tentang RAG, sila rujuk artikel lajur di tapak ini "Apakah perkembangan baharu dalam RAG, yang pakar dalam menebus kekurangan model besar?" Ulasan ini menerangkannya dengan jelas." Tetapi RAG tidak sempurna, dan pengguna sering menghadapi beberapa "titik kesakitan" apabila menggunakannya. Baru-baru ini, penyelesaian AI generatif termaju NVIDIA

See all articles