php preg_match_all 获得第二个 select 框选项
php preg_match_all get second select box options
我正在从 file_get_contents 获得的网页 select 框上应用 preg_match_all,但问题是它只获得第一个 select 框,而不是能够获得第二个 select 框及其选项。我的密码是
$html = file_get_contents("https://www.amazon.co.jp/-/en/dp/B09C1PM7K3?th=1");
$quantityMatch = preg_match_all( '@(<option value="([^"]+)">([^<]+)</option>)@', $html, $quantity);
$result = array();
$k = 0;
foreach ($quantity[0] as $i => $value){
$result[$quantity[2][$i]] = $quantity[3][$i];
$k = $i;
}
$finalQty = $quantity[3][$k];
// print_r($result);
dd($finalQty);
它正在从此页面获取类别,但我需要第二个 select 框,它是网页上的库存数量。
您可以通过此link查看所选选项的数据。
如果您使用类似“
的短语进行搜索,则未选中
<li ... data-dp-url="/dp/B09C1P6T71/ref=twister_B09GWCBGQ5?_encoding=UTF8&psc=1"
您可以获得数据-dp-url 用于未选择的选项并添加您的 link
等:https://www.amazon.co.jp/-/en/
再次文件获取新内容 url
那是你的新期权股票:)
示例:您的新第二个选项 link:
https://www.amazon.co.jp/-/en/dp/B09C1Q11Z9/ref=twister_B09GWCBGQ5?_encoding=UTF8&psc=1
如果你不明白,我可以写示例代码post。
红色:未选择的选项
黑色:选择选项
例如第二个选项产品存货数量:
$html = file_get_contents("https://www.amazon.co.jp/-/en/dp/B09C1PM7K3?th=1");
$qq = preg_match_all( '@(data-dp-url="([^<]+)" )@', $html, $option);
$link = "https://www.amazon.co.jp/-/en".str_replace("&", '&', explode('"', $option[0][1])[1]);
$html_new_option = file_get_contents($link);
$quantityMatch = preg_match_all( '@(<option value="([^"]+)">([^<]+)</option>)@', $html_new_option, $quantity);
$result = array();
$k = 0;
foreach ($quantity[0] as $i => $value){
$result[$quantity[2][$i]] = $quantity[3][$i];
$k = $i;
}
$finalQty = $quantity[3][$k];
dd($finalQty);
=> $选项[0][WANT_OPTION_ORDER]
我正在从 file_get_contents 获得的网页 select 框上应用 preg_match_all,但问题是它只获得第一个 select 框,而不是能够获得第二个 select 框及其选项。我的密码是
$html = file_get_contents("https://www.amazon.co.jp/-/en/dp/B09C1PM7K3?th=1");
$quantityMatch = preg_match_all( '@(<option value="([^"]+)">([^<]+)</option>)@', $html, $quantity);
$result = array();
$k = 0;
foreach ($quantity[0] as $i => $value){
$result[$quantity[2][$i]] = $quantity[3][$i];
$k = $i;
}
$finalQty = $quantity[3][$k];
// print_r($result);
dd($finalQty);
它正在从此页面获取类别,但我需要第二个 select 框,它是网页上的库存数量。
您可以通过此link查看所选选项的数据。 如果您使用类似“
<li ... data-dp-url="/dp/B09C1P6T71/ref=twister_B09GWCBGQ5?_encoding=UTF8&psc=1"
您可以获得数据-dp-url 用于未选择的选项并添加您的 link 等:https://www.amazon.co.jp/-/en/ 再次文件获取新内容 url 那是你的新期权股票:)
示例:您的新第二个选项 link:
https://www.amazon.co.jp/-/en/dp/B09C1Q11Z9/ref=twister_B09GWCBGQ5?_encoding=UTF8&psc=1
如果你不明白,我可以写示例代码post。
例如第二个选项产品存货数量:
$html = file_get_contents("https://www.amazon.co.jp/-/en/dp/B09C1PM7K3?th=1");
$qq = preg_match_all( '@(data-dp-url="([^<]+)" )@', $html, $option);
$link = "https://www.amazon.co.jp/-/en".str_replace("&", '&', explode('"', $option[0][1])[1]);
$html_new_option = file_get_contents($link);
$quantityMatch = preg_match_all( '@(<option value="([^"]+)">([^<]+)</option>)@', $html_new_option, $quantity);
$result = array();
$k = 0;
foreach ($quantity[0] as $i => $value){
$result[$quantity[2][$i]] = $quantity[3][$i];
$k = $i;
}
$finalQty = $quantity[3][$k];
dd($finalQty);
=> $选项[0][WANT_OPTION_ORDER]