Rumah  >  Soal Jawab  >  teks badan

python - soalan pembersihan data Scrapy ItemLoader

Selepas menggunakan scrapy抓取数据时,利用itemloader这个类,使用selector取出的值为空时,进入scrapy.Field()
里调用filter(),selector取值不为空的确返回"有值",如果selector取出[]"",那么value进入filter(), "tiada nilai" tidak akan dikembalikan

def filter(value):
    if value:
        return "有值"
    else:
        return "无值"
 # 下面就简写了,熟悉的应该能看的懂
 scrapy.Field(filter())
 

Adakah terdapat cara untuk menukar nilai kosong yang ditangkap kepada "tiada nilai" selepas lulus penapis()?

PHPzPHPz2702 hari yang lalu1103

membalas semua(1)saya akan balas

  • 仅有的幸福

    仅有的幸福2017-05-27 17:41:47

    Terima kasih atas jemputan~
    Saya tidak tahu banyak tentang Scrapy, jadi saya tidak boleh bercakap banyak tentang topik tersebut. Idea umum crawler yang saya tulis sendiri dalam PHP ialah:
    1 peraturan dan beberapa gelung, letakkan halaman yang akan dikumpul ke dalam baris gilir, tekan Klasifikasi Kategori, contohnya, baris gilir untuk halaman senarai bernombor dan baris gilir untuk halaman kandungan data dalam senarai.
    2. Kemudian gunakan xpath untuk merangkak data halaman kandungan yang berkaitan Semasa proses merangkak, beberapa data yang dirangkak akan diproses seperti yang diperlukan oleh subjek.
    3. Kumpul data dan simpan data mengikut piawaian yang anda perlukan.

    Secara kasarnya, kebanyakan rangka kerja perangkak saya mungkin berdasarkan idea ini. Ia hanya menambah mekanisme anti-merangkak, berbilang-benang, berbilang proses, merangkak tambahan dan fungsi lain atas dasar ini. Oleh itu, penyoal menemui rangka kerja anda爬取数据那里进行处理或组装数据的地方进行处理都行.

    balas
    0
  • Batalbalas