


Mesti dibaca untuk perangkak baharu: Panduan Bermula 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
- 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
- Mencipta projek Scrapy
Apabila mencipta projek Scrapy, anda boleh menggunakan arahan berikut:
scrapy startproject <project_name>
Ini akan mencipta folder bernama
- 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>
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.
- 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.
- 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.
- 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
Pergi ke folder tutorial dan buat labah-labah bernama douban_spider:
scrapy genspider douban_spider movie.douban.com
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}
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()
Akhir sekali, kita perlu mengkonfigurasi Pipeline dalam settings.py. Hanya tambahkan kod berikut dalam ITEM_PIPELINES:
ITEM_PIPELINES = { 'tutorial.pipelines.TutorialPipeline': 100, }
Kini kami telah menulis Scrapy Spider yang mudah dan boleh memulakannya dengan melaksanakan arahan berikut:
scrapy crawl douban
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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.

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

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

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

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.

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

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

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
