architecture de projet rugueuse
-projet # Nom du projet -projet # avec un nom de projet, le dossier -spiders # Spiders: reptile couché genspider généré, qui sont placés ci - dessous - __init__ .py -chouti.py # tiroir reptile -cnblogs.py # cnblogs reptile -items.py # similaire fichier models.py dans django, écrit à l' intérieur d' un modèle d'une classe de -middlewares.py # middleware (reptiles middleware, téléchargement middleware) middleware écrit dans ce -pipelines.py # écriture la persistance locale (persisté dans un fichier, MySQL, Redis, MongoDB) -settings.py # profil de # fichiers de configuration lorsqu'ils sont déployés sur la ligne Scrapy
fichier de configuration inégal
settings.py
# Le respect des reptiles accord, forcé de courir ROBOTSTXT_OBEY = False # Demande en- tête USER_AGENT USER_AGENT = ' Mozilla / 5.0 (Macintosh, Intel Mac OS X 10_14_6) AppleWebKit / 537,36 (KHTML, comme le Gecko) Chrome / Safari 80.0.3987.149 / 537,36 ' # Ainsi configuré, le programme affiche un message d'erreur, , LOG_LEVEL, = « erreur »
Fichier programme du robot
classe ChoutiSpider (scrapy.Spider): nom = ' chouti ' # qui est le nom unique de chaque robot, utilisé pour différencier Araignée allowed_domains = [ ' https://dig.chouti.com/ ' ] # permettent ramper domaine start_urls = [ ' HTTPS: //dig.chouti.com/ ' ] # la position de départ à quatre pattes, un reptile début, il va d' abord envoyer la demande DEF Parse (auto, réponse): # parse l'objet de réponse, le dos de réponse Parser effectuées automatiquement, dans cette méthode d' analyse ne Imprimer ( ' ---------------------- ----- ' , réponse)