При проверке вашего кода я замечаю ряд проблем:
Сначала вы инициализируете items
в кортеж, когда он должен быть списком: items = []
.
Вам необходимо изменить свойство name
, чтобы оно отображало нужное имя на вашем сканере, чтобы вы могли использовать его следующим образом: scrapy crawl my_crawler
где name = "my_crawler"
.
start_urls
должен содержать строки, а не Request
объекты. Вы должны изменить запись с page
на точную строку поиска, которую вы хотите использовать. Если у вас есть несколько строк поиска и вы хотите их перебрать, я бы предложил использовать промежуточное ПО .
Когда вы пытаетесь извлечь данные из CSS, вы забываете вызвать extract_all()
, который фактически преобразовал бы ваш селектор в строковые данные, которые вы могли бы использовать.
Кроме того, вы не должны перенаправлять на стандартный поток вывода, потому что там идет много журналирования, и это сделает ваш выходной файл действительно грязным. Вместо этого вы должны извлечь ответы в элементы , используя loaders .
Наконец, вам, вероятно, не хватает подходящих настроек в файле settings.py
. Вы можете найти соответствующую документацию здесь .
FEED_FORMAT = "csv"
FEED_EXPORT_FIELDS = ["Field 1", "Field 2", "Field 3"]