크롤링에서요 상품 옵션값이 1개이면 어떻게 추출해야 할까요??

크롤링에서요 상품 옵션값이 1개이면 어떻게 추출해야 할까요??

QA

크롤링에서요 상품 옵션값이 1개이면 어떻게 추출해야 할까요??

본문

1794296797_1654828222.5926.png

 

/////////////////////////// 옵션 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++;

            }

        }

이 질문에 댓글 쓰기 :

답변을 작성하시기 전에 로그인 해주세요.
전체 125,873 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT