Maison  >  Questions et réponses  >  le corps du texte

python - Questions de nettoyage des données Scrapy ItemLoader

Après avoir utilisé scrapy抓取数据时,利用itemloader这个类,使用selector取出的值为空时,进入scrapy.Field()
里调用filter(),selector取值不为空的确返回"有值",如果selector取出[]"",那么value进入filter(), "aucune valeur" ne sera retournée

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

Existe-t-il un moyen de changer la valeur vide capturée en « aucune valeur » après avoir passé le filtre() ?

PHPzPHPz2702 Il y a quelques jours1100

répondre à tous(1)je répondrai

  • 仅有的幸福

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

    Merci pour l'invitation~
    Je ne connais pas grand-chose à Scrapy, donc je ne peux pas en dire beaucoup sur le sujet. L'idée générale du robot que j'ai écrit moi-même en PHP est la suivante :
    1. règles et quelques boucles, placez les pages à collecter dans la file d'attente, appuyez sur Classification par catégorie, par exemple, une file d'attente pour les pages de liste paginée et une file d'attente pour les pages de contenu de données dans la liste.
    2. Utilisez ensuite XPath pour explorer les données des pages de contenu pertinentes. Pendant le processus d'exploration, certaines des données analysées seront traitées selon les besoins du sujet.
    3. Rassemblez les données et enregistrez les données selon les normes dont vous avez besoin.

    C'est à peu près tout. La plupart de mes frameworks d'exploration sont probablement basés sur cette idée. Ils ajoutent simplement un mécanisme anti-exploration, du multi-threading, du multi-processus, de l'exploration incrémentielle et d'autres fonctions sur cette base. Par conséquent, la personne qui pose la question a trouvé votre cadre爬取数据那里进行处理或组装数据的地方进行处理都行.

    répondre
    0
  • Annulerrépondre