As etapas mencionadas abaixo são o processo mais curto para você trabalhar com Product Collection no Magento 2.

Com este guia, você pode manipular a coleção de produtos no Magento 2 facilmente.
Todos os produtos de uma determinada categoria:
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection')
->addCategoryFilter($category);
Filtro de visibilidade
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection');
\Magento\Framework\App\ObjectManager::getInstance()
->create(Magento\Catalog\Model\Product\Visibility’)
->addVisibleInCatalogFilterToCollection($collection);
Filtrando por Status
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection');
\Magento\Framework\App\ObjectManager::getInstance()
->create(Magento\Catalog\Model\Product\Status’)
->addVisibleFilterToCollection($collection);
Adicionando o preço a Collection
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection')
->addFinalPrice()
->addTaxPercents();
Website ID
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection')
->addWebsiteNamesToResult();
Filtrar pela Loja
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection')
->addStoreFilter();
Filtrar pelo Website
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection')
->addWebsiteFilter();
Adicionar a URL SEO
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection')
->addUrlRewrite();
Retornar também o ID das categorias
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection')
->addCategoryIds();
Informações sobre o Preço
$collection = \Magento\Framework\App\ObjectManager::getInstance()
->create('Magento\Catalog\Model\ResourceModel\Product\Collection')
->addTierPriceData();