title: Passing a argument to a callback function
body: <pre><code>def parse(self, response):
      for sel in response.xpath('//tbody/tr'):
          item = HeroItem()
          item['hclass'] = response.request.url.split("/")[8].split('-')[-1]
          item['server'] = response.request.url.split('/')[2].split('.')[0]
          item['hardcore'] = len(response.request.url.split("/")[8].split('-')) == 3
          item['seasonal'] = response.request.url.split("/")[6] == 'season'
          item['rank'] = sel.xpath('td[@class="cell-Rank"]/text()').extract()[0].strip()
          item['battle_tag'] = sel.xpath('td[@class="cell-BattleTag"]//a/text()').extract()[1].strip()
          item['grift'] = sel.xpath('td[@class="cell-RiftLevel"]/text()').extract()[0].strip()
          item['time'] = sel.xpath('td[@class="cell-RiftTime"]/text()').extract()[0].strip()
          item['date'] = sel.xpath('td[@class="cell-RiftTime"]/text()').extract()[0].strip()
          url = 'https://' + item['server'] + '.battle.net/' + sel.xpath('td[@class="cell-BattleTag"]//a/@href').extract()[0].strip()
  
          yield Request(url, callback=self.parse_profile)
  
  def parse_profile(self, response):
      sel = Selector(response)
      item = HeroItem()
      item['weapon'] = sel.xpath('//li[@class="slot-mainHand"]/a[@class="slot-link"]/@href').extract()[0].split('/')[4]
      return item
  </code></pre>
  
  <p>Well, I'm scraping a whole table in the main parse method and I have taken several fields from that table. One of these fields is an url and I want to explore it to get a whole new bunch of fields. How can I pass my already created ITEM object to the callback function so the final item keeps all the fields?</p>
  
  <p>As it is shown in the code above, I'm able to save the fields inside the url (code at the moment) or only the ones in the table (simply write <code>yield item</code>)
  but I can't yield only one object with all the fields together.</p>
  
  <p>I have tried this, but obviously, it doesn't work.</p>
  
  <pre><code>yield Request(url, callback=self.parse_profile(item))
  
  def parse_profile(self, response, item):
      sel = Selector(response)
      item['weapon'] = sel.xpath('//li[@class="slot-mainHand"]/a[@class="slot-link"]/@href').extract()[0].split('/')[4]
      return item
  </code></pre>