抓取我从抓取页面获得的网址

时间:2019-01-31 15:28:52

标签: python-3.x web-scraping scrapy

在尝试抓取页面时遇到了一些问题。我以前曾问过这个问题,但可能我的问题很混乱。

链接到上一个问题 Scraping an URL that I scraped while parsing

基本上,我要尝试的是解析从另一个页面获得的URL,同时保留相同的项。

我从页面上获取了一些数据,该页面已分配给某些Item字段。我想做的是向该项目添加更多数据,但是从解析前一个项目时获得的URL中获取数据。

类似这样的东西:

def parse (self,response):

    someItem['name'] = 'something'
    someItem['size'] = 'something'

    #This URL i get from scraping the initial page
    followingURL = someURL

    yield Request(followingURL, callback = self.parseNext)

def parseNext (self,response):

    someItem['color'] = 'somethingIGetFromTheNewPage'

    yield someItem

我尝试使用类似的方式

yield Request(followingURL, callback = self.parseNext, meta={'someItem' : someItem})

但这没用。

在“保存”从“解析”方法获得的商品信息时,如何抓取新的URL?

1 个答案:

答案 0 :(得分:1)

您使用了正确的方法。这是将数据从一个功能传递到另一个功能的最方便的方法。 您如何在parseNext函数中获取数据?应该是这样的:

def parseNext(self, response):
    someItem = response.meta['someItem']
    someItem['color'] = 'somethingIGetFromTheNewPage'
    yield someItem