Какая правильная форма работы с куками в scrapy

Я очень новичок, я работаю со scrapy в сети, которая использует файлы cookie. Это проблема для меня, потому что я могу получить данные из сети без файлов cookie, но получить данные из сети с файлами cookie для меня сложно. У меня есть эта структура кода

class mySpider(BaseSpider):
    name='data'
    allowed_domains =[]
    start_urls =["http://...."]

def parse(self, response):
    sel = HtmlXPathSelector(response)
    items = sel.xpath('//*[@id=..............')

    vlrs =[]

    for item in items:
        myItem['img'] = item.xpath('....').extract()
        yield myItem

Это нормально, я могу получить данные без файлов cookie, используя эту структуру кода, которую я нашел, поскольку я могу работать с файлами cookie, в этом URL-адресе, но я не понимаю, где я должен поместить этот код, чтобы иметь возможность получать данные с помощью xpath

я тестирую этот код

request_with_cookies = Request(url="http://...",cookies={'country': 'UY'})

но я не знаю, как я могу работать или куда положить этот код, я помещаю этот код в функцию разбора, для получения данных

def parse(self, response):
    request_with_cookies = Request(url="http://.....",cookies={'country':'UY'})

    sel = HtmlXPathSelector(request_with_cookies)
    print request_with_cookies

Я пытаюсь использовать XPath с этим новым URL-адресом с файлами cookie, чтобы позже распечатать эту новую очистку данных. Я думал, что это похоже на работу с URL-адресом без файлов cookie, но когда я запускаю это, у меня возникает ошибка, потому что объект «Запрос» не имеет атрибута «body_as_unicode» Как правильно работать с этими кукисами, я немного растерялся Большое спасибо.


person user3570469    schedule 24.04.2014    source источник


Ответы (1)


Вы очень близко! Контракт для метода parse() заключается в том, что он yields (или возвращает итерацию) из Items, Requests или их сочетания. В вашем случае все, что вам нужно сделать, это

yield request_with_cookies

и ваш метод parse() будет запущен снова с объектом Response, полученным в результате запроса этого URL-адреса с этими файлами cookie.

http://doc.scrapy.org/en/latest/topics/spiders.html?highlight=parse#scrapy.spider.Spider.parse http://doc.scrapy.org/en/latest/topics/request-response.html

person PlasmaSauna    schedule 24.04.2014