ich scrapy bin mit, in meinem scrapy Projekt, habe ich mehrere Spinnen Klassen erstellt, wie das offizielle Dokument, sagte ich auf diese Weise können Sie angeben, Dateinamen einloggen:Wie wird der Name der Protokolldatei mit dem Namen der Spinne in scrapy angegeben?
def logging_to_file(file_name):
"""
@rtype: logging
@type file_name:str
@param file_name:
@return:
"""
import logging
from scrapy.utils.log import configure_logging
configure_logging(install_root_handler=False)
logging.basicConfig(
filename=filename+'.txt',
filemode='a',
format='%(levelname)s: %(message)s',
level=logging.DEBUG,
)
Class Spider_One(scrapy.Spider):
name='xxx1'
logging_to_file(name)
......
Class Spider_Two(scrapy.Spider):
name='xxx2'
logging_to_file(name)
......
Nun, wenn ich Spider_One
beginnen, alles ist korrekt! Aber, wenn ich Spider Two
starte, wird die Protokolldatei von Spider Two
auch mit dem Namen Spider One
benannt!
Ich habe viele Antworten von Google und Stackoverflow gesucht, aber leider hat keiner funktioniert!
Ich benutze Python 2.7 & Scrapy 1.1!
Hoffe, dass mir jemand helfen kann!
Vielen Dank für Ihre Antwort! Ich habe versucht, 'logging_to_file' Funktion jedes Spinnen' __init__' Verfahren gestern bewegen, aber wenn ich so tat, Protokolldatei nicht erstellt werden. – nick
@nick wie läuft dir deine Spinne? Es gibt keine Möglichkeit 'logging_to_file' von anderen Spidern zu erreichen, wenn Sie mit' scrapy crawl spider_name' laufen. – Granitosaurus
Ja, ich habe wirklich den Befehl 'scrapy crawl spider_name' benutzt um meine Spinne zu starten !! @ Granitosaurus – nick