下記ページのHTMLには、a[class ^= "history"] オブジェクトが36個あることを確認しています。
http://ja.aliexpress.com/wholesale?catId=0&initiative_id=AS_20151205231131&SearchText=bag+mens

しかし、nokogiriのcssセレクタで、上記オブジェクトを取得すると4個しか取得できません。

原因がわからず、大変困っています。
原因がわかるかた、いらっしゃいますでしょうか?

require 'open-uri'
require 'nokogiri'
require 'pstore'
require 'anemone'
require 'open_uri_redirections'
require 'openssl'

class URLList
  def GetHtmlObj(url)
    charset = nil
    html = open(url, :allow_redirections => :safe, :ssl_verify_mode => OpenSSL::SSL::VERIFY_NONE) do |f|
      charset = f.charset # 文字種別を取得
      f.read # htmlを読み込んで変数htmlに渡す
    end
    # htmlをパース(解析)してオブジェクトを作成
    return Nokogiri::HTML.parse(html, nil, charset)
  end

  def GetURLList(url)
    url_list = Array.new
    doc = GetHtmlObj(url)
    doc.css('div[class = "ui-pagination-navi util-left"]>a').each do |page|
      url_list << page.attribute("href").text 
    end
    url_list = url_list.sort_by do |k|
      /(.+)(page=)([\d]+)/ =~ k
      $3.to_i
    end
    return url_list.uniq
  end

  def GetURLListAll(url,n)
    url_list_all = Array.new
    crawl_url = URLList.new
    last_url = url

    n.times do |n|
      url_list = crawl_url.GetURLList(last_url)
      last_url = url_list.last

      url_list_all.concat(url_list)
    end    
     url_list_all = url_list_all.sort_by do |k|
      /(.+)(page=)([\d]+)/ =~ k
      $3.to_i
    end
    return url_list_all.uniq
  end

  def GetProductURLList2(url)
    url_list = Array.new
    doc = GetHtmlObj(url)
    doc.css('a[class = "history-item product "]').each do |page|
      url_list << page.attribute("href").text 
    end

    return url_list
  end

  def GetProductURLList(url)
    url_list = Array.new
    doc = GetHtmlObj(url)
    num=0
    doc.css('a[class ^= "history"]').each do |page|
      puts page
      puts num = num+1
      url_list << page.text 
    end

    return url_list
  end

  def GetProductURLListAll(url,n)
    url_list = Array.new
    GetURLListAll(url,n).each do |url_tmp|
      doc = GetHtmlObj(url_tmp)
      doc.css('a[class = "history-item product "]').each do |page|
        url_list << page.attribute("href").text 
      end
    end
    return url_list
  end

 end

# スクレイピング先のURL

class HtmlObjs
  def GetHtmlObj(init_url, n)
    obj = URLList.new
    urls = obj.GetURLListAll(init_url, n)

    htmls = Array.new
    Anemone.crawl(urls, :depth_limit => 0, :delay => 1) do |anemone|
          anemone.on_every_page do |page|
            htmls << page.doc
          end 
    end

    return htmls
  end

  def GetProductHtmlObj(init_url,n)
    obj = URLList.new
    urls = obj.GetProductURLListAll(init_url,n)

    htmls = Array.new
    Anemone.crawl(urls, :depth_limit => 0, :delay => 1) do |anemone|
          anemone.on_every_page do |page|
            htmls << page.doc
          end 
    end

    return htmls
  end

end

class ProductInfo
  def GetProductName(html)
    return html.css("h1[class='product-name']").text
  end
end


init_url = "http://ja.aliexpress.com/wholesale?catId=0&initiative_id=AS_20151205231131&SearchText=bag+mens"
#obj = URLList.new
#puts urls = obj.GetProductURLListAll(init_url,1)



#product = ProductInfo.new


#htmls = HtmlObjs.new
#html_list = htmls.GetProductHtmlObj(init_url,1)


obj = URLList.new

urllist = obj.GetProductURLList(init_url)

#puts urllist



#たまにログイン認証画面を取得してしまう
#商品が36あるはずが、4しか取得できない