在尝试抓取页面时遇到了一些问题。我以前曾问过这个问题,但可能我的问题很混乱。
链接到上一个问题 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?
答案 0 :(得分:1)
您使用了正确的方法。这是将数据从一个功能传递到另一个功能的最方便的方法。
您如何在parseNext
函数中获取数据?应该是这样的:
def parseNext(self, response):
someItem = response.meta['someItem']
someItem['color'] = 'somethingIGetFromTheNewPage'
yield someItem