Keyword Shitter Localhost

Script Keyword Shitter, bisa di pakai di localhost namun harus tetap online karena mengambil dari google suggest.

<!DOCTYPE html>
<html>
<title>Keyword Shitter - The Bulk Keyword Tool</title>
<head>  
     <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
<style>
@charset "UTF-8";
/*-----------------------------------*

  $TOAST-GRID

  An insane grid.
  You'd be mad to use it.

  Usage
  =====

  Assuming default values:

  <div class="grid">
    <div class="grid__col grid__col--1-of-2">
      A half-width column.
    </div>
    <div class="grid__col grid__col--1-of-4 grid__col--pull-1-of-4">
      A quarter, pulled left by its own width. You get this, right?
    </div>
  </div>


  Customisation
  =============

  $grid-namespace and $grid-column-namespace
  adjusts the class names for the grid. With
  default values, grid wrappers have a class
  of '.grid' and columns '.grid__col'.

  $col-groups(n) adjusts column divisions.
  For example, $col-groups(12) will produce
  a 12-column grid. $col-groups(3,6,8)
  will produce a 3-, 6-, and 8-column grid.

  $gutter-width is—you guessed it—the gutter
  width. Accepts any unit.

  That's it. Have fun.

*-----------------------------------*/
.grid {
  list-style: none;
  margin-left: -20px; }
  .grid > .grid__col--2-of-2, .grid > .grid__col--3-of-3, .grid > .grid__col--4-of-4, .grid > .grid__col--5-of-5, .grid > .grid__col--6-of-6, .grid > .grid__col--8-of-8, .grid > .grid__col--12-of-12 {
    width: 100%; }
  .grid > .grid__col--1-of-2, .grid > .grid__col--2-of-4, .grid > .grid__col--3-of-6, .grid > .grid__col--4-of-8, .grid > .grid__col--6-of-12 {
    width: 50%; }
  .grid > .grid__col--1-of-3, .grid > .grid__col--2-of-6, .grid > .grid__col--4-of-12 {
    width: 33.33333%; }
  .grid > .grid__col--2-of-3, .grid > .grid__col--4-of-6, .grid > .grid__col--8-of-12 {
    width: 66.66667%; }
  .grid > .grid__col--1-of-4, .grid > .grid__col--2-of-8, .grid > .grid__col--3-of-12 {
    width: 25%; }
  .grid > .grid__col--3-of-4, .grid > .grid__col--6-of-8, .grid > .grid__col--9-of-12 {
    width: 75%; }
  .grid > .grid__col--push-2-of-2, .grid > .grid__col--push-3-of-3, .grid > .grid__col--push-4-of-4, .grid > .grid__col--push-5-of-5, .grid > .grid__col--push-6-of-6, .grid > .grid__col--push-8-of-8, .grid > .grid__col--push-12-of-12 {
    margin-left: 100%; }
  .grid > .grid__col--push-1-of-2, .grid > .grid__col--push-2-of-4, .grid > .grid__col--push-3-of-6, .grid > .grid__col--push-4-of-8, .grid > .grid__col--push-6-of-12 {
    margin-left: 50%; }
  .grid > .grid__col--push-1-of-3, .grid > .grid__col--push-2-of-6, .grid > .grid__col--push-4-of-12 {
    margin-left: 33.33333%; }
  .grid > .grid__col--push-2-of-3, .grid > .grid__col--push-4-of-6, .grid > .grid__col--push-8-of-12 {
    margin-left: 66.66667%; }
  .grid > .grid__col--push-1-of-4, .grid > .grid__col--push-2-of-8, .grid > .grid__col--push-3-of-12 {
    margin-left: 25%; }
  .grid > .grid__col--push-3-of-4, .grid > .grid__col--push-6-of-8, .grid > .grid__col--push-9-of-12 {
    margin-left: 75%; }
  .grid > .grid__col--pull-2-of-2, .grid > .grid__col--pull-3-of-3, .grid > .grid__col--pull-4-of-4, .grid > .grid__col--pull-5-of-5, .grid > .grid__col--pull-6-of-6, .grid > .grid__col--pull-8-of-8, .grid > .grid__col--pull-12-of-12 {
    margin-left: -100%; }
  .grid > .grid__col--pull-1-of-2, .grid > .grid__col--pull-2-of-4, .grid > .grid__col--pull-3-of-6, .grid > .grid__col--pull-4-of-8, .grid > .grid__col--pull-6-of-12 {
    margin-left: -50%; }
  .grid > .grid__col--pull-1-of-3, .grid > .grid__col--pull-2-of-6, .grid > .grid__col--pull-4-of-12 {
    margin-left: -33.33333%; }
  .grid > .grid__col--pull-2-of-3, .grid > .grid__col--pull-4-of-6, .grid > .grid__col--pull-8-of-12 {
    margin-left: -66.66667%; }
  .grid > .grid__col--pull-1-of-4, .grid > .grid__col--pull-2-of-8, .grid > .grid__col--pull-3-of-12 {
    margin-left: -25%; }
  .grid > .grid__col--pull-3-of-4, .grid > .grid__col--pull-6-of-8, .grid > .grid__col--pull-9-of-12 {
    margin-left: -75%; }
  .grid > .grid__col--1-of-5 {
    width: 20%; }
  .grid > .grid__col--push-1-of-5 {
    margin-left: 20%; }
  .grid > .grid__col--pull-1-of-5 {
    margin-left: -20%; }
  .grid > .grid__col--2-of-5 {
    width: 40%; }
  .grid > .grid__col--push-2-of-5 {
    margin-left: 40%; }
  .grid > .grid__col--pull-2-of-5 {
    margin-left: -40%; }
  .grid > .grid__col--3-of-5 {
    width: 60%; }
  .grid > .grid__col--push-3-of-5 {
    margin-left: 60%; }
  .grid > .grid__col--pull-3-of-5 {
    margin-left: -60%; }
  .grid > .grid__col--4-of-5 {
    width: 80%; }
  .grid > .grid__col--push-4-of-5 {
    margin-left: 80%; }
  .grid > .grid__col--pull-4-of-5 {
    margin-left: -80%; }
  .grid > .grid__col--1-of-6 {
    width: 16.66667%; }
  .grid > .grid__col--push-1-of-6 {
    margin-left: 16.66667%; }
  .grid > .grid__col--pull-1-of-6 {
    margin-left: -16.66667%; }
  .grid > .grid__col--5-of-6 {
    width: 83.33333%; }
  .grid > .grid__col--push-5-of-6 {
    margin-left: 83.33333%; }
  .grid > .grid__col--pull-5-of-6 {
    margin-left: -83.33333%; }
  .grid > .grid__col--1-of-8 {
    width: 12.5%; }
  .grid > .grid__col--push-1-of-8 {
    margin-left: 12.5%; }
  .grid > .grid__col--pull-1-of-8 {
    margin-left: -12.5%; }
  .grid > .grid__col--3-of-8 {
    width: 37.5%; }
  .grid > .grid__col--push-3-of-8 {
    margin-left: 37.5%; }
  .grid > .grid__col--pull-3-of-8 {
    margin-left: -37.5%; }
  .grid > .grid__col--5-of-8 {
    width: 62.5%; }
  .grid > .grid__col--push-5-of-8 {
    margin-left: 62.5%; }
  .grid > .grid__col--pull-5-of-8 {
    margin-left: -62.5%; }
  .grid > .grid__col--7-of-8 {
    width: 87.5%; }
  .grid > .grid__col--push-7-of-8 {
    margin-left: 87.5%; }
  .grid > .grid__col--pull-7-of-8 {
    margin-left: -87.5%; }
  .grid > .grid__col--1-of-12 {
    width: 8.33333%; }
  .grid > .grid__col--push-1-of-12 {
    margin-left: 8.33333%; }
  .grid > .grid__col--pull-1-of-12 {
    margin-left: -8.33333%; }
  .grid > .grid__col--2-of-12 {
    width: 16.66667%; }
  .grid > .grid__col--push-2-of-12 {
    margin-left: 16.66667%; }
  .grid > .grid__col--pull-2-of-12 {
    margin-left: -16.66667%; }
  .grid > .grid__col--5-of-12 {
    width: 41.66667%; }
  .grid > .grid__col--push-5-of-12 {
    margin-left: 41.66667%; }
  .grid > .grid__col--pull-5-of-12 {
    margin-left: -41.66667%; }
  .grid > .grid__col--7-of-12 {
    width: 58.33333%; }
  .grid > .grid__col--push-7-of-12 {
    margin-left: 58.33333%; }
  .grid > .grid__col--pull-7-of-12 {
    margin-left: -58.33333%; }
  .grid > .grid__col--10-of-12 {
    width: 83.33333%; }
  .grid > .grid__col--push-10-of-12 {
    margin-left: 83.33333%; }
  .grid > .grid__col--pull-10-of-12 {
    margin-left: -83.33333%; }
  .grid > .grid__col--11-of-12 {
    width: 91.66667%; }
  .grid > .grid__col--push-11-of-12 {
    margin-left: 91.66667%; }
  .grid > .grid__col--pull-11-of-12 {
    margin-left: -91.66667%; }
  .grid .grid__col {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    margin-right: -.25em;
    min-height: 1px;
    padding-left: 20px;
    vertical-align: top; }
    @media (max-width: 700px) {
      .grid .grid__col {
        display: block;
        margin-left: 0;
        margin-right: 0;
        width: auto; } }
    @media (max-width: 700px) and (min-width: 480px) {
      .grid .grid__col[class*="grid__col--m-"] {
        display: inline-block;
        margin-right: -.24em; }
      .grid .grid__col.grid__col--m-1-of-2, .grid .grid__col.grid__col--m-2-of-4 {
        width: 50%; }
      .grid .grid__col.grid__col--m-1-of-3 {
        width: 33.33333%; }
      .grid .grid__col.grid__col--m-2-of-3 {
        width: 66.66667%; }
      .grid .grid__col.grid__col--m-1-of-4 {
        width: 25%; }
      .grid .grid__col.grid__col--m-3-of-4 {
        width: 75%; } }
    @media (max-width: 480px) {
      .grid .grid__col[class*="grid__col--s-"] {
        display: inline-block;
        margin-right: -.24em; }
      .grid .grid__col.grid__col--s-1-of-2, .grid .grid__col.grid__col--s-2-of-4 {
        width: 50%; }
      .grid .grid__col.grid__col--s-1-of-3 {
        width: 33.33333%; }
      .grid .grid__col.grid__col--s-2-of-3 {
        width: 66.66667%; }
      .grid .grid__col.grid__col--s-1-of-4 {
        width: 25%; }
      .grid .grid__col.grid__col--s-3-of-4 {
        width: 75%; } }
  .grid .grid__col--centered {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .grid .grid__col--d-first {
    float: left; }
  .grid .grid__col--d-last {
    float: right; }
  .grid.grid--no-gutter {
    margin-left: 0;
    width: 100%; }
    .grid.grid--no-gutter .grid__col {
      padding-left: 0; }
    .grid.grid--no-gutter .grid__col--span-all {
      margin-left: 0;
      width: 100%; }
  .grid .grid__col--ab {
    vertical-align: bottom; }
  .grid .grid__col--am {
    vertical-align: middle; }

/*# sourceMappingURL=grid.css.map */
</style>
</head>
<body>
    <meta http-equiv="CACHE-CONTROL" content="NO-CACHE">
<h1>Keyword Generator</h1>
    <br>
    
    <div class="grid">
        
        <div class="grid__col grid__col--3-of-9">
            <!--<div id="download"><a href="#" onclick="Download()">Download</a></div>-->
            <div id="numofkeywords"></div>
            <textarea id="input" style="height: 400px; width: 400px"></textarea><br><br>
            <input id="startjob" onclick="StartJob();" type="button" value="Shit Keywords!">
            <div id="container"></div>
            
            <!--  For debugging -->
            <textarea id="queryoutput" style="display:none;"></textarea>
            <br>
        </div>
        <div class="grid__col grid__col--1-of-9" align="left">
            <textarea id="filter-positive" rows="4" onkeyup="FilterIfNotWorking()" placeholder="Positive Filter"></textarea>
            <br>
            <br>
            <textarea id="filter-negative" rows="4" onkeyup="FilterIfNotWorking()" placeholder="Negative Filter"></textarea>
        </div>
        
    </div>
        
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
         
        var keywordsToDisplay = new Array();
        var hashMapResults = {}; 
        var numOfInitialKeywords = 0; 
        var doWork = false; 
        var keywordsToQuery = new Array(); 
        var keywordsToQueryIndex = 0; 
        var queryflag = false; 
        
        window.setInterval(DoJob, 750); 
        
        function StartJob()
        {
            if(doWork == false)
            {     
                keywordsToDisplay = new Array();
                hashMapResults = {}; 
                keywordsToQuery = new Array();
                keywordsToQueryIndex = 0; 
                
                hashMapResults[""] = 1; 
                hashMapResults[" "] = 1; 
                hashMapResults["  "] = 1; 
                
                var ks = $('#input').val().split("n");
                var i = 0; 
                for(i = 0; i < ks.length; i++)
                {
                    keywordsToQuery[keywordsToQuery.length] = ks[i];
                    keywordsToDisplay[keywordsToDisplay.length] = ks[i];

                    var j = 0; 
                    for(j = 0; j < 26; j++)
                    {
                        var chr = String.fromCharCode(97 + j);
                        var currentx = ks[i] + ' ' + chr; 
                        keywordsToQuery[keywordsToQuery.length] = currentx; 
                        hashMapResults[currentx] = 1;
                    }
                }
                //document.getElementById("input").value = ''; 
                //document.getElementById("input").value += "n";
                numOfInitialKeywords = keywordsToDisplay.length;
                FilterAndDisplay();
                
                doWork = true; 
                $('#startjob').val('Stop Job');
            }
            else
            {
                doWork = false; 
                alert("Stopped"); 
                $('#startjob').val('Start Job');
            }
        }
        
        function DoJob()
        {
            if(doWork == true && queryflag == false)
            {
                if(keywordsToQueryIndex < keywordsToQuery.length)
                {
                    var currentKw = keywordsToQuery[keywordsToQueryIndex]; 
                    QueryKeyword(currentKw);
                    keywordsToQueryIndex++; 
                }
                else 
                {
                    if (numOfInitialKeywords != keywordsToDisplay.length)
                    {
                        alert("Done"); 
                        doWork = false; 
                        $('#startjob').val('Start Job');
                    }
                    else
                    {
                        keywordsToQueryIndex = 0; 
                    }
                }
            }
        }
        
        function QueryKeyword(keyword)
        {
            var querykeyword = keyword;
            //var querykeyword = encodeURIComponent(keyword); 
            var queryresult = ''; 
            queryflag = true; 
            
            $.ajax({
                url: "http://suggestqueries.google.com/complete/search",
                jsonp: "jsonp",
                dataType: "jsonp",
                data: {
                q: querykeyword,
                client: "chrome"
                },
                success: function(res) {
                    var retList = res[1];
                    
                    var i = 0; 
                    for(i = 0; i < retList.length; i++)
                    {
                        var currents = CleanVal(retList[i]); 
                        if(hashMapResults[currents] != 1)
                        {
                            hashMapResults[currents] = 1; 
                            keywordsToDisplay[keywordsToDisplay.length] = CleanVal(retList[i]);
                            
                            keywordsToQuery[keywordsToQuery.length] = currents; 
                            
                            var j = 0; 
                            for(j = 0; j < 26; j++)
                            {
                                var chr = String.fromCharCode(97 + j);
                                var currentx = currents + ' ' + chr; 
                                keywordsToQuery[keywordsToQuery.length] = currentx; 
                                hashMapResults[currentx] = 1;
                            }
                        }
                    }
                    FilterAndDisplay();
                    var textarea = document.getElementById("input");
                    textarea.scrollTop = textarea.scrollHeight;
                    queryflag = false; 
                }
            });           
        }
        
        function CleanVal(input)
        {       
            var val = input;
            val = val.replace("\u003cb\u003e", "");
            val = val.replace("\u003c\/b\u003e", "");
            val = val.replace("\u003c\/b\u003e", "");
            val = val.replace("\u003cb\u003e", "");
            val = val.replace("\u003c\/b\u003e", "");
            val = val.replace("\u003cb\u003e", "");
            val = val.replace("\u003cb\u003e", "");
            val = val.replace("\u003c\/b\u003e", "");
            val = val.replace("\u0026amp;", "&");
            val = val.replace("\u003cb\u003e", "");
            val = val.replace("\u0026", "");
            val = val.replace("\u0026#39;", "'");
            val = val.replace("#39;", "'");
            val = val.replace("\u003c\/b\u003e", "");
            val = val.replace("\u2013", "2013");
            if (val.length > 4 && val.substring(0, 4) == "http") val = "";
            return val; 
        }
        
        function Filter(listToFilter)
        {
            var retList = listToFilter;
            
            if (document.getElementById("filter-positive").value.length > 0)
            {
                var filteredList = new Array();
                var filterContains = document.getElementById("filter-positive").value.split("n");
                var i = 0;
                for (i = 0; i < retList.length; i++)
                {
                    var currentKeyword = retList[i];
                    var boolContainsKeyword = false;
                    var j = 0;
                    for (j = 0; j < filterContains.length; j++)
                    {
                        if (filterContains[j].length > 0)
                        {
                            if (currentKeyword.indexOf(filterContains[j]) != -1)
                            {
                                boolContainsKeyword = true;
                                break;
                            }
                        }
                    }
                    
                    if (boolContainsKeyword)
                    {
                        filteredList[filteredList.length] = currentKeyword;
                    }
                }
                
                retList = filteredList;
            }
            
            if (document.getElementById("filter-negative").value.length > 0)
            {
                var filteredList = new Array();
                var filterContains = document.getElementById("filter-negative").value.split("n");
                var i = 0;
                for (i = 0; i < retList.length; i++)
                {
                    var currentKeyword = retList[i];
                    var boolCleanKeyword = true;
                    var j = 0;
                    for (j = 0; j < filterContains.length; j++)
                    {
                        if (filterContains[j].length > 0)
                        {
                            if (currentKeyword.indexOf(filterContains[j]) >= 0)
                            {
                                boolCleanKeyword = false;
                                break;
                            }
                        }
                    }
                    
                    if (boolCleanKeyword)
                    {
                        filteredList[filteredList.length] = currentKeyword;
                    }
                }
                
                retList = filteredList;
            }
            
            return retList;
        }
        
        function FilterAndDisplay()
        {
            var i = 0;
            var sb = '';
            var outputKeywords = Filter(keywordsToDisplay);
            for (i = 0; i < outputKeywords.length; i++)
            {
                sb += outputKeywords[i];
                sb += 'n';
            }
            document.getElementById("input").value = sb;
            document.getElementById("numofkeywords").innerHTML = '' + outputKeywords.length + ' : ' + keywordsToDisplay.length;
        }
        
        function FilterIfNotWorking()
        {
            if (doWork == false)
            {
                FilterAndDisplay();
            }
        }
        
        function post_to_url(path, params, method) {
            method = method || "post"; // Set method to post by default, if not specified.

            // The rest of this code assumes you are not using a library.
            // It can be made less wordy if you use one.
            var form = document.createElement("form");
            form.setAttribute("method", method);
            form.setAttribute("action", path);

            for(var key in params) {
                if(params.hasOwnProperty(key)) {
                    var hiddenField = document.createElement("input");
                    hiddenField.setAttribute("type", "hidden");
                    hiddenField.setAttribute("name", key);
                    hiddenField.setAttribute("value", params[key]);

                    form.appendChild(hiddenField);
                 }
            }

            document.body.appendChild(form);
            form.submit();
        }
        
        function Download()
        {
            var inputText = document.getElementById("input").value;
            post_to_url('KSDownload.php', {'input_text' : inputText}, 'post'); 
        }
        
    </script>

</body>
</html>

Share on Facebook
Share on Twitter
Share on Google+
Notification ! {New!}
Beberapa artikel di blog ini terkadang berisi informasi dari berbagai macam sumber. Hak cipta berupa gambar, teks, dan link sepenuhnya dimiliki oleh web tersebut.
Tags :

Ads

Ayo sob di komen, kalau ada salah atau saran, kritik boleh coret coret dibawah, gratis kok!