【发布时间】:2014-04-25 06:12:12
【问题描述】:
我是个新手,我在一个使用 cookie 的网站中使用 scrapy,这对我来说是个问题,因为我可以在没有 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的情况下获得很好的数据 我发现它是因为我可以在这个 url 中使用 cookie,但我不明白我应该把这段代码放在哪里,然后才能使用 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 与这个带有 cookie 的新 url 一起使用,以便稍后打印这个新的数据抓取 我认为这就像使用没有 cookie 的 url 但是当我运行这个我有一个错误,因为“请求”对象没有属性“body_as_unicode” 使用这些 cookie 的正确方法是什么,我有点迷茫 非常感谢。
【问题讨论】:
标签: python cookies xpath scrapy scrapy-spider