Rumah >pembangunan bahagian belakang >Tutorial Python >Perangkak Scrapy menyedari pemerolehan data gambar yang cantik dan kedudukan perkongsian popular Qianku.com

Perangkak Scrapy menyedari pemerolehan data gambar yang cantik dan kedudukan perkongsian popular Qianku.com

王林
王林asal
2023-06-22 13:41:451185semak imbas

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:

rreee

Ini 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!

Kenyataan:
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