DEBUG: Просмотрено (403) - INFO: Просмотрено 0 страниц

Вот мой паук

class ProductoSpiderTres(CrawlSpider):
name = 'linio'

item_count = 0
allowed_domain = ['www.linio.com.co']
p = "portatil lg"
start_urls = ["https://www.linio.com.co/search?scroll=&q="+p]
handle_httpstatus_list = [403]

def __init__(self, **kwargs):
    super().__init__(**kwargs)

rules = {

    Rule(LinkExtractor(allow = (), restrict_xpaths = ('//a[@class="page-link page-link-icon"]'))),
    Rule(LinkExtractor(allow = (), restrict_xpaths = ('//a[@class="col-12 pl-0 pr-0"]')),
                        callback = "parse_item", follow = False),
}

def parse_item(self, response):
    global outputResponse

    lista = {}

    lista['titulo'] = response.xpath('//span[@class="product-name"]/text()').extract_first()
    lista['urlImagen'] = response.xpath('//img[@class="image-modal"]/@src').extract_first()
    lista['precio'] = response.xpath('//span[@class="price-main-md"]/text()').extract_first()
    lista['conyven'] = response.xpath('nn').extract_first()  #ignore this
    lista['estrellas'] = response.xpath('nn').extract_first()  #And this
    lista['url'] = response.request.url
    
    outputResponse.append(lista)
    self.item_count += 1
    if self.item_count > 3:
        raise CloseSpider('item_exceeded')
        
    yield lista

И... вот где я его выполняю

def executetres(peticion):
    url = ['https://www.linio.com.co/search?scroll=&q='+peticion]

    process = CrawlerProcess({
        'USER_AGENT': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
    })

    process.crawl(ProductoSpiderTres, start_urls=url)
    process.start()

    return outputResponse

print (executetres("computador portatil"))

А потом... Я получил следующее:

Я уже много раз менял USER_AGENT и ничего не изменилось. Я очень новичок во всем этом scrapy, поэтому я смотрел некоторые решения в интернете, но я не очень хорошо их понял, люди объясняют так, как будто вы эксперт в этом, и они опускают много вещей, которые они предполагают, что я уже знаю. P.S.: "outputresponse" является глобальной переменной в моем пауке

Вернуться на верх