


Scrapy ialah aplikasi mengikis data yang disertakan dengan templat perangkak
Dengan perkembangan teknologi Internet yang berterusan, teknologi crawler juga telah digunakan secara meluas. Teknologi crawler secara automatik boleh merangkak data di Internet dan menyimpannya dalam pangkalan data, memberikan kemudahan untuk analisis data dan perlombongan data. Sebagai rangka kerja perangkak yang sangat terkenal dalam Python, Scrapy dilengkapi dengan beberapa templat perangkak biasa, yang boleh merangkak data dengan cepat pada tapak web sasaran dan menyimpannya secara automatik ke pangkalan data setempat atau awan. Artikel ini akan memperkenalkan cara menggunakan templat perangkak Scrapy sendiri untuk merangkak data dan cara membersihkan, menghuraikan dan menyimpan data semasa proses rangkak.
1. Pengenalan kepada templat perangkak Scrapy
Scrapy disertakan dengan beberapa templat perangkak, termasuk templat asas Spider, templat CrawlSpider dan templat XmlFeedSpider. Templat labah-labah ialah templat perangkak yang paling asas Kelebihannya ialah ia mempunyai pelbagai aplikasi dan mudah digunakan. Templat CrawlSpider ialah templat perangkak berasaskan peraturan yang boleh merangkak pautan berbilang peringkat dengan cepat dan menyokong peraturan tersuai. Templat XmlFeedSpider ialah templat perangkak yang sesuai untuk format XML. Menggunakan templat ini untuk merangkak data boleh mengurangkan kesukaran pembangunan untuk pengaturcara dan meningkatkan kecekapan merangkak.
2. Aplikasi templat perangkak Scrapy
Berikut ialah contoh praktikal untuk menggambarkan cara menggunakan templat Spider Scrapy sendiri untuk merangkak data. Tapak web sasaran yang akan kami rangkak ialah tapak web maklumat filem, dan maklumat filem terkini disenaraikan di halaman utama tapak web tersebut. Kami perlu merangkak nama filem, pengarah, pelakon, penilaian dan maklumat lain dari tapak web ini dan menyimpannya ke pangkalan data tempatan.
- Buat projek Scrapy
Mula-mula, anda perlu membuka tetingkap baris arahan, beralih ke direktori kerja sasaran, dan kemudian masukkan arahan berikut:
scrapy startproject movies
Arahan ini Projek Scrapy bernama filem akan dibuat Direktori projek akan mengandungi subdirektori bernama labah-labah, yang digunakan untuk meletakkan program perangkak.
- Buat Templat Spider
Dalam direktori projek, gunakan arahan berikut untuk mencipta Spider bernama movie_spider:
scrapy genspider movie_spider www.movies.com
Arahan ini akan Menjana secara automatik program berdasarkan templat Spider, di mana www.movies.com mewakili nama domain tapak web sasaran. Dalam direktori spiders, fail bernama movie_spider.py akan muncul dengan kandungan berikut:
import scrapy class MovieSpider(scrapy.Spider): name = 'movie_spider' allowed_domains = ['www.movies.com'] start_urls = ['http://www.movies.com/'] def parse(self, response): pass
Ini ialah program Spider yang paling asas. Antaranya, nama mewakili nama perangkak, allowed_domains mewakili senarai nama domain yang dibenarkan untuk dirangkak dan start_urls mewakili senarai URL mula merangkak. Dalam kaedah parse, kita perlu menulis kod untuk menghurai dan merebut data.
- Tangkapan dan analisis data
Kita perlu menulis kod untuk menangkap dan menghuraikan data tapak web sasaran daripada objek tindak balas. Untuk tapak web maklumat filem yang baru disebut, kami boleh menggunakan pemilih XPath atau CSS untuk mencari elemen pada halaman. Dengan mengandaikan bahawa nama filem disimpan dalam elemen div dengan nama filem kelas pada halaman, maka kita boleh menggunakan kod berikut untuk mengekstrak semua nama filem:
def parse(self, response): movies = response.xpath('//div[@class="movie-name"]/text()').extract() for movie in movies: yield {'name': movie}
Di sini, kami menggunakan sintaks XPath untuk mencari Semua div elemen dengan nama filem kelas digunakan, dan kaedah ekstrak digunakan untuk mengekstrak kandungan teks dalam elemen. Seterusnya, kami menggunakan gelung for untuk menghasilkan setiap nama filem sebagai output penjana.
Begitu juga, kami boleh mencari elemen lain yang kami minati melalui pemilih XPath atau CSS. Sebagai contoh, maklumat pengarah dan pelakon boleh disimpan dalam elemen div dengan pengarah kelas, dan maklumat penarafan boleh disimpan dalam elemen div dengan kadar kelas.
- Storan Data
Dalam program Spider, kita perlu menulis kod untuk menyimpan data yang ditangkap ke pangkalan data setempat atau awan. Scrapy menyokong menyimpan data ke pelbagai pangkalan data yang berbeza, termasuk MySQL, PostgreSQL, MongoDB, dll.
Sebagai contoh, kami boleh menggunakan pangkalan data MySQL untuk menyimpan maklumat filem. Dalam direktori spiders, kita boleh mencipta fail bernama mysql_pipeline.py, yang mengandungi kod berikut:
import pymysql class MysqlPipeline(object): def __init__(self): self.conn = pymysql.connect(host='localhost', user='root', passwd='123456', db='movie_db', charset='utf8') def process_item(self, item, spider): cursor = self.conn.cursor() sql = "INSERT INTO movie(name, director, actors, rate) VALUES(%s, %s, %s, %s)" cursor.execute(sql, (item['name'], item['director'], item['actors'], item['rate'])) self.conn.commit() def __del__(self): self.conn.close()
Program ini akan menyimpan data pelaksanaan ke pangkalan data MySQL, di mana movie_db ialah nama pangkalan data dan filem jadual akan mengandungi Empat medan nama, pengarah, pelakon dan kadar digunakan untuk menyimpan nama filem, pengarah, pelakon dan maklumat penilaian. Kaedah process_item digunakan untuk menyimpan item yang dihasilkan dalam program Spider ke pangkalan data.
Untuk menggunakan fail mysql_pipeline.py, kami juga perlu menambah konfigurasi berikut dalam fail settings.py:
ITEM_PIPELINES = { 'movies.spiders.mysql_pipeline.MysqlPipeline': 300 }
Di sini, 'movies.spiders.mysql_pipeline.MysqlPipeline' menentukan lokasi fail mysql_pipeline.py dan nama kelas. Nombor 300 menunjukkan keutamaan pemprosesan data Semakin kecil bilangannya, semakin tinggi keutamaannya.
- Jalankan program Scrapy
Dalam direktori spiders, laksanakan arahan berikut untuk menjalankan program Scrapy:
scrapy crawl movie_spider
Arahan ini akan memulakan movie_spider Program crawler mula merangkak data tapak web sasaran dan menyimpannya ke dalam pangkalan data MySQL.
3. Ringkasan
Artikel ini memperkenalkan cara menggunakan templat perangkak Scrapy sendiri untuk merangkak data, termasuk templat Spider, templat CrawlSpider dan templat XmlFeedSpider. Kami mengambil contoh praktikal untuk menggambarkan cara menggunakan templat Spider untuk menangkap dan menghuraikan data, dan menyimpan hasilnya ke pangkalan data MySQL. Menggunakan Scrapy untuk penangkapan data boleh meningkatkan kecekapan dan kualiti pengumpulan data dengan sangat baik, dan memberikan sokongan kukuh untuk analisis data seterusnya, perlombongan data dan kerja lain.
Atas ialah kandungan terperinci Scrapy ialah aplikasi mengikis data yang disertakan dengan templat perangkak. 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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Masa yang diperlukan untuk mempelajari crawler Python berbeza dari orang ke orang dan bergantung pada faktor seperti keupayaan pembelajaran peribadi, kaedah pembelajaran, masa pembelajaran dan pengalaman. Mempelajari crawler Python bukan sekadar mempelajari teknologi itu sendiri, tetapi juga memerlukan kemahiran mengumpul maklumat yang baik, kemahiran menyelesaikan masalah dan kemahiran kerja berpasukan. Melalui pembelajaran dan latihan berterusan, anda akan berkembang secara beransur-ansur menjadi pembangun perangkak Python yang cemerlang.

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.

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

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

Analisis masalah biasa dan penyelesaian untuk perangkak PHP Pengenalan: Dengan perkembangan pesat Internet, pemerolehan data rangkaian telah menjadi pautan penting dalam pelbagai bidang. Sebagai bahasa skrip yang digunakan secara meluas, PHP mempunyai keupayaan hebat dalam pemerolehan data Salah satu teknologi yang biasa digunakan ialah perangkak. Walau bagaimanapun, dalam proses membangunkan dan menggunakan perangkak PHP, kami sering menghadapi beberapa masalah. Artikel ini akan menganalisis dan memberikan penyelesaian kepada masalah ini dan memberikan contoh kod yang sepadan. 1. Perihalan masalah bahawa data halaman web sasaran tidak dapat dihuraikan dengan betul.

Menggunakan Selenium dan PhantomJSScrapy dalam perangkak Scrapy Scrapy ialah rangka kerja perangkak web yang sangat baik di bawah Python dan telah digunakan secara meluas dalam pengumpulan dan pemprosesan data dalam pelbagai bidang. Dalam pelaksanaan perangkak, kadangkala perlu untuk mensimulasikan operasi penyemak imbas untuk mendapatkan kandungan yang dibentangkan oleh tapak web tertentu Dalam kes ini, Selenium dan PhantomJS diperlukan. Selenium mensimulasikan operasi manusia pada penyemak imbas, membolehkan kami mengautomasikan ujian aplikasi web

Amalan perangkak Java: Cara merangkak data halaman web dengan cekap Pengenalan: Dengan perkembangan pesat Internet, sejumlah besar data berharga disimpan dalam pelbagai halaman web. Untuk mendapatkan data ini, selalunya perlu untuk mengakses setiap halaman web secara manual dan mengekstrak maklumat satu demi satu, yang sudah pasti tugas yang membosankan dan memakan masa. Untuk menyelesaikan masalah ini, orang ramai telah membangunkan pelbagai alat crawler, antaranya Java crawler adalah salah satu yang paling biasa digunakan. Artikel ini akan membawa pembaca memahami cara menggunakan Java untuk menulis perangkak web yang cekap dan menunjukkan amalan melalui contoh kod tertentu. 1. Pangkal reptilia

Scrapy ialah rangka kerja perangkak Python yang berkuasa yang boleh membantu kami mendapatkan data di Internet dengan cepat dan fleksibel. Dalam proses merangkak sebenar, kami sering menghadapi pelbagai format data seperti HTML, XML dan JSON. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Scrapy untuk merangkak ketiga-tiga format data ini masing-masing. 1. Merangkak data HTML dan mencipta projek Scrapy Pertama, kita perlu membuat projek Scrapy. Buka baris arahan dan masukkan arahan berikut: scrapys
