title: Scrapy duplicating results
body: <p>I am trying to parse various data items for each advert on a page such as <a href="https://www.pistonheads.com/classifieds?Category=used-cars&amp;M=1044&amp;ResultsPerPage=750" rel="nofollow noreferrer">https://www.pistonheads.com/classifieds?Category=used-cars&amp;M=1044&amp;ResultsPerPage=750</a></p>
  
  <p>My code catches most of the items correctly. However, I'm running into two issues:</p>
  
  <ol>
  <li>The output in the <code>Year</code> column is the same for every row. This occurs despite the <code>xpath</code> being exactly the same as that used in the <code>title</code> column which works correctly.</li>
  <li>In my output, every row has a value for <code>Transmission</code> which can't be correct as not all adverts have this variable populated. </li>
  </ol>
  
  <p>General comments about my code also appreciated. Perhaps I should be using <code>ItemLoaders</code> for this? (I haven't learnt how they work yet).</p>
  
  <pre><code>import scrapy
  from datetime import date
  
  
  class SuperScraper(scrapy.Spider):
      name = 'ss22'
  
      def start_requests(self):
          urls = 'https://www.pistonheads.com/classifieds?Category=used-cars&amp;M=1044&amp;ResultsPerPage=750'
          yield scrapy.Request(urls, callback = self.parse_data)
  
      def parse_data( self, response ):
          advert = response.xpath( '//*[@class="ad-listing"]')
          title = advert.xpath( './/*[@class="listing-headline"]//h3/text()' ).extract()
          year = advert.xpath( './/*[@class="listing-headline"]//h3/text()' ).extract()
          price = advert.xpath( './/*[@class="price"]/text()' ).extract()
          mileage = advert.xpath( './/*[contains(@class, "flaticon solid gauge-1")]/following-sibling::text()' ).extract()
          mileage = [item.strip() for item in mileage]
          mileage = [item.replace(',','') for item in mileage]
          mileage = [item.replace(' miles','') for item in mileage]
          timestamp = str(date.today()).split('.')[0] 
          timestamps = [timestamp for i in range(len(title))]
          model = response.xpath('//head/title/text()').extract()
          model = [item.replace("Used ","") for item in model]
          model = [item.replace(" cars for sale with PistonHeads","") for item in model]
          models = [model for i in range(len(title))]
          transmission = advert.xpath('.//*[contains(@class, "flaticon solid location-pin-4")]/following-sibling::text()').extract()
          transmission = [item.strip() for item in transmission]
          link = advert.xpath( './/*[@class="listing-headline"]/a/@href' ).extract()
          link = ['https:\\www.pistonheads.com' + i for i in link]
  
          for item in zip(timestamps,link,models,title,year,price,mileage,transmission):
              price_data = {
                      'timestamp' : item[0],
                      'link' :item[1],
                      'model' : item[2],
                      'title' : item[3],
                      'year' : year[4],
                      'price' : item[5],
                      'mileage' : item[6],
                      'transmission' :item[7]
  
              }
              yield price_data 
  </code></pre>