2012-07-11 2 views
3

누군가 웹 GUI에서 scrapyd를 호출하는 방법에 대한 예가 있습니까?웹 GUI에서 상담원 호출

웹 크롤러를 구현하기 위해 웹 GUI에서 Scrapy를 호출하고 싶습니다.

나는이 예제를 찾았지만, 나를 위해 작동하지 않은 :

http://mahmoud.abdel-fattah.net/2012/07/04/super-simple-and-basic-scrapyd-web-interface/ 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title>Simple scrapyd web manager</title> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
     <script type="text/javascript"> 

      var scrapyd_url = 'http://localhost:6800/'; 

      var project_name = 'bkam'; 

      var all_spiders = new Array(); 
      var running_spiders = new Array(); 
      var finished_spiders = new Array(); 

      $(document).ready(function() { 
       $(".start_spider").live('click', function() { 
        spider_name = $(this).attr('rel'); 
        $.post(scrapyd_url + 'schedule.json', { 
         project : project_name, 
         spider : spider_name 
        }); 

       }); 

       $(".stop_spider").live('click', function() { 
        job_id = $(this).attr('rel'); 
        $.post(scrapyd_url + 'cancel.json', { 
         project : project_name, 
         job : job_id 
        }); 

       }); 

       function listjobs() { 
        $.getJSON(scrapyd_url + 'listjobs.json?project=' + project_name, function(data) { 
         var finished_items = []; 
         $.each(data.finished, function(key, val) { 
          finished_spiders.push(val.spider); 
          finished_items.push('<li>' + val.spider + '&nbsp;&nbsp;<a href="' + scrapyd_url + 'logs/' + project_name + '/' + val.spider + '/' + val.id + '.log">log</a></li>'); 
         }); 
         $('#finished_spiders').append(finished_items.join('')); 

         if (data.running.length > 0) { 
          var running_items = []; 
          $.each(data.running, function(key, val) { 
           running_spiders.push(val.spider); 
           running_items.push('<li>' + val.spider + '&nbsp;&nbsp;<a href="' + scrapyd_url + 'logs/' + project_name + '/' + val.spider + '/' + val.id + '.log">log</a>&nbsp;&nbsp|&nbsp;&nbsp<a href="#" class="stop_spider" rel="' + val.id + '">Stop</a></li>'); 
          }); 
          $('#running_spiders').append(running_items.join('')); 
         } else { 
          $('#running_spiders').append('<li>No Running spiders</li>'); 
         } 

        }); 
       } 

       listjobs(); 

       // Get spiders list 
       $.getJSON(scrapyd_url + 'listspiders.json?project=' + project_name, function(data) { 
        var items = []; 
        //console.log(data); 
        $.each(data.spiders, function(key, val) { 
         items.push('<li id="' + val + '">' + val + '&nbsp;&nbsp;<a href="#" class="start_spider" rel="'+ val + '">Start</a></li>'); 
        }); 

        $('#available_spiders').append(items.join('')); 
       }); 

      }); 
     </script> 
    </head> 
    <body> 
     <a href="#" onClick="window.location.reload">refresh</a> 
     <br /> 
     List of running spiders 
     <ul id="running_spiders"></ul> 
     List of finished spiders (First is latest) 
     <ul id="finished_spiders"></ul> 
     List of available spiders 
     <ul id="available_spiders"></ul> 
    </body> 
</html> 

나는 거미 웹 GUI에서 버튼을 클릭을 실행합니다. 내가 보는 바로는 ... :(

답변

0

를 도와주세요,이 예제 내가 실행하지 않아도 생각 scrapyd를, 연락을 시도합니다.

당신이 실행 중인지 확인하는 경우, A의 접근 시도 브라우저 http://localhost:6800/ - 뭔가를 돌려 주어야합니다.

+0

예 scrapyd가 명령 줄에서 실행 중이지만 브라우저에 http : // localhost : 6800을 입력하면 실행중인 프로젝트를 표시하지 않습니다. ( – Ajacs1104

+0

브라우저에 표시되는 내용 'http : //127.0.0.1 : 6800'에 액세스하면 어떻게됩니까? – warvariuc