code: def parse_detail(self, response):
          
          # Product Information (a start)
          product_data = {
              'url': response.url,
              'name': response.css('div.page-title h1::text').extract_first(),
          }
  
          # Inventory Number
          inventory_number = re.search(
              r'(?P<inv_num>\d+)$',
              response.css('span.product-in::text').extract_first(),
          ).group('inv_num')
          product_data.update({'in': inventory_number})
  
          # Specifications (arbitrary key:value pairs)
          specs_table = response.css('#tab-specs dl')
          for row in specs_table.css('div.spec-row'):
              keys = row.css('dt::text').extract()
              values = row.css('dd::text').extract()
              product_data.update({
                  key: value
                  for (key, value) in zip(keys, values)
              })
  
          self.logger.info(product_data['name'])
          yield product_data
docs: Parse individual product's detail