Rumah > Artikel > pembangunan bahagian belakang > Perangkak Scrapy menyedari pemerolehan data gambar yang cantik dan kedudukan perkongsian popular Qianku.com
Scrapy crawler menyedari pemerolehan data gambar yang cantik dan kedudukan perkongsian popular Qianku.com
Dengan populariti Internet, permintaan orang ramai untuk imej telah meningkat secara beransur-ansur, dan tapak web gambar yang cantik juga telah muncul. Qianku.com ialah platform yang mengkhusus dalam menyediakan gambar definisi tinggi dan sumber bahan Terdapat sejumlah besar bahan gambar yang indah, yang boleh dimuat turun secara percuma oleh pengguna dan juga boleh menggantikan sumber seni komersial. Walau bagaimanapun, memuat turun imej cantik ini secara manual memakan masa dan tidak cekap. Oleh itu, artikel ini memperkenalkan cara menggunakan perangkak Scrapy untuk mendapatkan data gambar yang cantik dan meletakkan kedudukan saham popular di Qianku.com.
1. Pasang Scrapy
Sebelum memasang Scrapy, kita perlu memasang persekitaran Python terlebih dahulu. Dalam persekitaran Python, Scrapy boleh dipasang melalui perintah pip install scrapy.
2. Cipta projek Scrapy
Buka terminal baris arahan, masukkan direktori tempat anda ingin mencipta projek dan masukkan perintah scrapy startproject qkspider untuk mencipta projek bernama "qkspider" dalam projek Scrapy direktori.
3. Buat perangkak
Masukkan direktori projek dan masukkan perintah scrapy genspider qk qkpic.com untuk mencipta perangkak bernama "qk" di bawah folder labah-labah.
4. Tulis kod
1 Ubah suai fail settings.py
Pertama, buka fail settings.py dalam direktori qkspider dan tambahkan kod berikut padanya:
ITEM_PIPELINES = {'qkspider.pipelines.QkspiderPipeline':100,}
Ini adalah untuk menyimpan data gambar cantik yang diperolehi ke dalam pangkalan data.
2. Ubah suai fail pipelines.py
Seterusnya, kita perlu membuka fail pipelines.py dalam direktori qkspider dan tambah kod berikut di dalamnya:
rreeeIni adalah untuk Data gambar cantik yang diperolehi disimpan dalam MongoDB.
3 Ubah suai fail items.py
Buka fail items.py dalam direktori qkspider dan tambah kod berikut di dalamnya:
import pymongo class QkspiderPipeline(object): def __init__(self): client = pymongo.MongoClient("mongodb://localhost:27017/") db = client['qkdb'] self.collection = db['qkpic'] def process_item(self, item, spider): self.collection.insert(dict(item)) return item
Ini untuk mentakrifkan jenis data yang hendak diperolehi.
4. Ubah suai fail qk.py
Buka fail qk.py dalam folder labah-labah dan tambah kod berikut di dalamnya:
import scrapy class QkspiderItem(scrapy.Item): title = scrapy.Field() img_url = scrapy.Field() share_num = scrapy.Field()
Apakah jenis peraturan ini untuk menentukan? Merangkak data gambar yang cantik tapak web Qianku dan menyimpan data dalam MongoDB. Dalam kod ini, kami menentukan maklumat gambar yang cantik untuk diperolehi, termasuk tajuk gambar yang cantik, alamat URL dan volum perkongsian.
5. Jalankan perangkak
Sekarang, kita boleh menjalankan program perangkak yang baru kita tulis dalam terminal baris arahan. Masukkan perintah scrapy crawl qk dalam direktori qkspider untuk menjalankan program dalam fail qk.py dan mula merangkak data imej cantik tapak web Qianku dan menyimpannya dalam MongoDB.
6. Mencapai kedudukan perkongsian popular
Untuk mendapatkan kedudukan perkongsian popular laman web Qianku, kita perlu mendapatkan URL halaman senarai popular dan menambah kod berikut pada qk. py fail:
import scrapy from qkspider.items import QkspiderItem class QkSpider(scrapy.Spider): name = "qk" allowed_domains = ["qkpic.com"] start_urls = ["http://www.qkpic.com/"] def parse(self, response): items = [] pic_lists = response.xpath('//div[@class="index_mianpic"]/ul/li') for i, pic in enumerate(pic_lists): item = QkspiderItem() item['title'] = pic.xpath('./a/@title').extract_first() item['img_url'] = pic.xpath('./a/img/@src').extract_first() item['share_num'] = int(pic.xpath('./span/em/text()').extract_first()) items.append(item) return items
Dalam kod ini, kami menetapkan start_urls ke laman utama tapak web dan halaman senarai popular, dan menambah fungsi baharu parse_rank_list.
7. Ringkasan
Artikel ini memperkenalkan cara menggunakan rangka kerja perangkak Scrapy untuk merangkak data imej yang cantik tapak web Qianku. Semasa proses perangkak, kami menentukan jenis data yang kami perlukan untuk mendapatkan dan menggunakan MongoDB untuk menyimpan data yang diperoleh. Selain itu, artikel ini juga memperkenalkan cara mendapatkan senarai kedudukan perkongsian popular laman web Qianku untuk mengembangkan fungsi program perangkak.
Atas ialah kandungan terperinci Perangkak Scrapy menyedari pemerolehan data gambar yang cantik dan kedudukan perkongsian popular Qianku.com. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!