Try below code:
If Url like this https://www.domain.com/shop/?sku=123, then
Using Construct Method:
...
private $productRepository;
protected $request;
...
public function __construct(
...
\Magento\Catalog\Api\ProductRepositoryInterface $productRepository,
\Magento\Framework\App\Request\Http $request,
...
) {
...
$this->productRepository = $productRepository;
$this->request = $request;
...
}
public function loadMyProduct()
{
$params = $this->request->getParams(); // all params
if(is_array($params['sku']) && count($params) > 0){
$proSku = isset($params['sku']) ? $params['sku'] : '';
$product = $this->productRepository->get($proSku);
return $product;
}
return '';
}
...
Using Object Manager
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$request = $objectManager->get('Magento\Framework\App\Request\Http');
$params = $request->getParams();
$productRepository = $objectManager->get('Magento\Catalog\Api\ProductRepositoryInterface');
$product = $productRepository->get($params['sku']);
echo "pro name".$product->getName()." == ".$product->getPrice();
Note: Magento did not recommend the Object Manager Method
I hope it will helps...!!!