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() ?
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
爬取数据那里进行处理或组装数据的地方进行处理都行
.