如何在简单 HTML DOM 解析器中传递商店选择

How to pass store selection in Simple HTML DOM parser

我正在尝试获取此网站上的产品名称和价格 Toplivo.bg

我正在使用简单 HTML DOM 解析器来获取它。这是我的代码

include_once('simple_html_dom.php');

$link="https://toplivo.bg/en/products/Construction-materials/Dry-construction-mixtures/Screeds-and-flooring";

$html = file_get_html($link);
//Price
foreach ($html->find('div[class="content"]') as $text){
  echo $text -> plaintext.'<br>';
}
?> 

问题是,首先,我需要 select 网站上的仓库以获取“Baumit 水泥砂浆层 Baumit Solido E160,25 公斤”的价格。

我可以通过 PHP 代码默认 select 它吗?比如我要select“Plovdiv region -> Plovdiv Store”

感谢您的帮助!

这可以使用 cURL 来实现。完整代码如下:

<?php
include_once('simple_html_dom.php');

$link = "https://toplivo.bg/en/products/Construction-materials/Dry-construction-mixtures/Screeds-and-flooring";

// let's use curl to create a get request first to select a store while keeping the session using a cookie file
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://toplivo.bg/izborNaSklad/39');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie-45fg.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie-45fg.txt');
$output = curl_exec($ch);

curl_setopt($ch, CURLOPT_URL, $link); // now let's fetch the raw content of the store products page
$output = curl_exec($ch);

$html = str_get_html($output); // since we have the raw input, we can use the str_get_html method instead of file_get_html

//Price
foreach ($html->find('div[class="content"]') as $text){
  echo $text->plaintext . '<br>';
}

?>