【问题标题】:Scraping an URL i got from scraping a page抓取我从抓取页面中获得的 URL
【发布时间】:2019-01-31 15:28:52
【问题描述】:

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

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

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

我从页面中获取了一些数据,这些数据分配给了某些项目字段。我想要做的是向该项目添加更多数据,但来自解析前一个项目时获得的 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?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 成功了!,我忘了在 parseNext 方法的开头添加 someItem = response.meta['someItem'] 。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多