Паук не очищает список или URL - PullRequest
0 голосов
/ 06 января 2019

У меня есть паук, который получает URL-адреса для чистки из списка. Моя проблема в том, что, когда я запускаю паука, никакие данные не копируются, и, что странно для меня, и я не могу решить, что паук действительно входит в каждый сайт, но данные не возвращаются .

Мой паук выглядит так

import scrapy
import re
import pandas
import json
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from genericScraper.items import ClothesItem
from scrapy.exceptions import CloseSpider
from scrapy.http import Request

class ClothesSpider(CrawlSpider):

    name = "clothes_spider"

    #Dominio permitido
    allowed_domain = ['www.amazon.com']

    colnames = ['nombre', 'url']

    data = pandas.read_csv('URLClothesData.csv', names = colnames)

    name_list = data.nombre.tolist()

    URL_list = data.url.tolist()

    #Sacamos los primeros de ambas, que seria el indice
    name_list.pop(0)
    URL_list.pop(0)

    start_urls = URL_list

    custom_settings = {

        'FEED_FORMAT': 'csv',
        'FEED_URI' : 'ClothesData.csv'

    }

    def parse_item(self,response):

        cothesAmz_item = ClothesItem()
        cothesAmz_item['nombreProducto'] = response.xpath('normalize-space(//span[contains(@id, "productTitle")]/text())').extract()

        yield cothesAmz_item

То, что я вижу в своей консоли, это

ConsoleLightshotPicture

1 Ответ

0 голосов
/ 07 января 2019

По умолчанию, когда паук сканирует start_urls, тогда его функция default callback:

def parse(self, response):
    pass    #Your logic goes here, 

Вы можете попробовать изменить свою функцию parse_item на parse.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...