크롤링이 안되는 페이지도 있나요?

조회수 2689회
//여기에 코드를 입력하세요
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="p3p" content="policyref=&quot;http://bizmailer.co.kr/bizsmart/w3c/p3p.xml&quot; CP=&quot;COM CNT LOC NAV ONL PRE PUR UNI ALL CUR OUR&quot;">
<title>대량이메일발송, 대량메일발송, 문자, SMS 마케터의 마음을 아는 이메일/SMS서비스 - BIZMailer™</title>
<link rel="shortcut icon" href="/bizsmart/html/bizmailer.ico" type="image/x-icon">

<link href="/bizsmart/html/popup.css" rel="stylesheet" type="text/css">

<script type="text/javascript" charset="utf-8" src="/bizsmart/js/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="/bizsmart/js/jquery-ui.min.js"></script>
<script type="text/javascript" charset="utf-8" src="/bizsmart/js/main.js"></script>
<script language="javascript" src="/bizsmart/html/home.js"></script>
<script language="javascript" src="/bizsmart/html/valid_util.js"></script>
<script language="javascript" src="/bizsmart/html/SpryCollapsiblePanel.js"></script>
<script language="javascript">
<!--
    function resizePopup(){
        var dataobj = document.getElementById("popup_content");
        pageHeight = dataobj.scrollHeight + 80;
        pageWidth = dataobj.scrollWidth + 10;
        window.resizeTo(pageWidth, pageHeight);
    }

    window.onload = function() {
        window.focus();
    }
//-->
</script>
</head>



<!-- <body onload="javascript: resizePopup();"> -->
<body>
<!-- (inc) 팝업 타이틀 시작 -->
<div id="popup_content" style="position:absolute; left:0; top:0; width:100%">
<table cellspacing="0" cellpadding="0" id="pop">

  <tbody><tr>
    <td class="bar"><img src="/bizsmart/html/images/manager/pop_icon.gif" align="absmiddle">[그룹선택 &amp; 개별선택]</td>
  </tr>
  <tr>
    <td class="shadow"></td>
  </tr>

  <!-- (inc) 팝업 타이틀 끝 -->



<script language="javascript">
    function applyGroup() {

        ifrmContents.apply();
        var groupKey = ifrmContents.document.groupForm.groupKey.value;
        var groupNm = ifrmContents.document.groupForm.groupNm.value;
        var groupCnt = ifrmContents.document.groupForm.groupCnt.value;
        var groupArray = ifrmContents.document.groupForm.groupArray.value;

        if (ifrmContents.applyPerson()) {
            var customEmails = ifrmContents.document.personForm.customEmails.value;
            var customMap = ifrmContents.document.personForm.customMap.value;
            var customCount = ifrmContents.document.personForm.customCount.value;

            // 2016.03.10. edited by ansii, 선택 그룹수 및, 그룹이름 byte체크 
            var stringByteLength = 0;
            stringByteLength = (function(s,b,i,c){
                for(b=i=0;c=s.charCodeAt(i++);b+=c>>11?3:c>>7?2:1);
                return b
            })(groupNm);

            var groupKeys = groupKey.split(",");
            var maxLength = 48;
            // var maxLength = 48;
            // maxLength = 300;
            if (groupKeys != null && groupKeys.length > maxLength) {
                alert("죄송합니다.\r\n" + (maxLength+1) + "개 이상의 그룹은 동시에 선택이 불가능합니다.");
                return;
            }

            if(stringByteLength >= 1024) {
                alert("죄송합니다.\r\n선택된 그룹들의 이름 정보가 너무 길어 선택하실수 없습니다.\r\n현재 선택된 그룹의 이름 길이 : "+stringByteLength+" byte");
                return;
            }


                opener.selectGroup(groupKey, groupNm, groupArray, groupCnt, customEmails, customMap, customCount);


            window.close();
        }
    }

  window.onload = function() {
        var strForm = document.selectForm;
        strForm.rcvGroupKey.value = opener.document.createForm.rcvGroupKey.value;
        strForm.customMap.value = opener.document.createForm.customMap.value;

        strForm.submit();
    }
</script>

  <!-- 팝업 본문테이블 시작 -->
  <form name="selectForm" method="post" style="margin:0px;" action="../group/group.do" target="ifrmContents"></form>
  <input type="hidden" name="method" value="selectGroup" id="method">
  <input type="hidden" name="groupKey" value="view" id="groupKey">
  <input type="hidden" name="type" value="view">
  <input type="hidden" name="rcvGroupKey" value="">
  <input type="hidden" name="customMap" value="">
  <input type="hidden" name="isSms" value="">


  <form name="groupForm" method="post" style="margin:0px;"></form>
  <input type="hidden" name="method" value="selectGroup">

  <tr>
    <td class="body" style="padding-bottom:0px">



      <table cellspacing="0" cellpadding="0">
        <tbody><tr>
          <td><iframe id="ifrmContents" name="ifrmContents" src="about:blank" width="100%" height="375" frameborder="0" scrolling="yes"></iframe></td>
        </tr>
        <tr>
          <td class="dotHor" style="height:1px"></td>
        </tr>
      </tbody></table>

      <table cellspacing="0" cellpadding="0" style="margin:13px 0px 8px 0px">
        <tbody><tr>
          <td align="center"><input type="button" class="btnGreen" value="적용하기" onclick="javascript: applyGroup();"></td>
        </tr>
      </tbody></table>

      <table cellspacing="0" cellpadding="0">
        <tbody><tr>
          <td colspan="2" class="dotHor" style="height:10px"></td>
        </tr>
        <tr>
          <td style="width:60px"><img src="/bizsmart/html/images/manager/bt_tip.gif" alt="사용팁" align="absmiddle"></td>
          <td class="gray" style="font-family:dotum">[제외회원수]란, 수신거부/발신불가로 이메일 발송이 불가능한 회원의 수를 뜻하며, 실제 발송 시 자동제외됩니다.</td>
        </tr>
        <tr>
          <td colspan="2" style="height:10px" class="dotHor"></td>
        </tr>
      </tbody></table>



    </td>
  </tr>


  <!-- 팝업 본문테이블 끝 -->




 <!-- (inc) 팝업 카피라이터 시작 -->
  <tr>
    <td class="copy"><table cellspacing="0" cellpadding="0">
      <tbody><tr>
        <td class="blue">Copyrights 2009 DAOU Inc. All rights reserved. Contact Us</td>
        <td style="text-align:right"><a href="javascript:window.close();"><img src="/bizsmart/html/images/manager/pop_close1.gif" alt="close window"></a></td>
      </tr>
    </tbody></table></td>
  </tr>

</tbody></table>
</div>
<!-- (inc) 팝업 카피라이터  끝 -->


</body></html>

제가 크롤링하려는 페이지입니다. 이용하는 메일전송 솔루션 입니다. 회원 디비를 자동으로 주소록에 추가하여 메일을 발송하는 프로그램을 만드는 중입니다. 근데 특정 div안의 요소만 클릭할 수 없다고 합니다. iframe이 있나 싶어 확인해봤지만 없었으며 원인을 알 수 없어 고민중입니다. 그래서 혹시 이 웹사이트에서 크롤링을 막아놓은 것일까 생각해여 이렇게 질문드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 크롤링하려는 웹사이트에서 UserAgent string을 보고 차단하거나 다른 HTML을 준거 같은데요.

    한번 UserAgent string을 바꿔 보세요.

    어떤 패키지로 크롤링하는지는 모르겠는데요... 한번 문서나 스택오버플로 Q&A들을 보면 도움이 될 거에요.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)