크롤링에서요 상품 옵션값이 1개이면 어떻게 추출해야 할까요??
본문
/////////////////////////// 옵션 1개짜리 CURL 방식 ///////////////////////////////////////////
$is_option_dom = $dom -> find("li.detail-spec__option-item ",0);
if($is_option_dom) {
$request_url = "https://balaan.co.kr/shop/goods/goods_view.php?goodsno=15975205";
$referer_url = "https://balaan.co.kr/shop/goods/goods_view.php?goodsno=15975205";
$post_data = "goodsno=".$_SKU."&quickYn=N&mbrDlvpSeq=&quickGiftYn=&quickAeEvtNo=";
$option_answer = get_curl_data($request_url,$referer_url,"post",$post_data);
$option_dom = new simple_html_dom;
$option_dom -> load($option_answer);
$option_cnt=0;
// $option_dom = $option_dom -> find("#option_list",0);
// if($option_dom) $option_dom = $option_dom -> find("li");
$option_dom = $option_dom -> find("li");
if(is_array($option_dom)) foreach($option_dom as $option_data){
$option_stock = 999;
$option_value = "";
$option_name = "";
$option_sku = "";
$option_price_plus = 0;
$option_price_minus = 0;
$option_image_set = $_ImageSet;
$option_image_url = $_ImageSet[0][0];
$option_class = "";
$option_price = $_Price;
$option_name_dom = $option_data -> find("span.option_value",0);
if($option_name_dom) {
$option_price_dom = $option_name_dom -> find("span.option_price");
if($option_price_dom) {
$option_price = trim($option_price_dom -> plaintext);
$option_price = scrap_price_check($price);
}
$option_name_dom -> find("span.option_price",0) -> outertext = "";
$option_name_dom2 = new simple_html_dom;
$option_name_dom2 -> load($option_name_dom);
$option_name = trim($option_name_dom2 -> plaintext);
}
$option_name = preg_replace("/\s\s+/"," ",$option_name); // 연속 공백 모두 제거
if(stripos($option_name, "품절") !== false){
$option_name = str_replace("(품절)","",$option_name);
$option_name = trim($option_name);
$option_stock = 0;
}
$option_image_dom = $option_data -> find("span.color img",0);
if($option_image_dom) {
$option_image_set = array();
$option_image_url = $option_image_dom -> src;
$option_image_set[0][0] = $option_image_url;
$option_image[$option_name][0][0] = $option_image_url;
}
// $option_class = $option_data -> class;
// if(stripos($option_class, "size__list--disabled") !== false) $option_stock = 0;
// $option_name = explode("|",$option_name);
// $option_name = trim($option_name[0]);
$option_list_key = "옵션";
$option_title[0] = $option_list_key;
$option_list[$option_list_key][] = $option_name;
// $option_value = trim($option_data -> value);
$option_sku = $_SKU."_".str_replace(" ","_",$option_name);
if(!$option_name) continue;
$option_info_key = $option_name;
$option_info[$option_info_key]['SKU'] = $option_sku;
$option_info[$option_info_key]['Stock'] = $option_stock;
$option_info[$option_info_key]['Price'] = (int) $option_price;
$option_info[$option_info_key]['Currency'] = $_Currency;
$option_info[$option_info_key]['Image'] = $option_image_url;
$option_info[$option_info_key]['ImageSet'] = $option_image_set;
$option_info[$option_info_key]['OptionURL'] = "";
$option_info[$option_info_key]['SeparateValue'] = "";
$option_info[$option_info_key]['SeparateSKU'] = "";
$option_cnt++;
}
}