How Do I Check The Uniqueness Of The Text (Instruction for NodeJs Scripts)

in Steem-BRU (BY-RU-UA)3 years ago

How Do I Check (1).png

ENG:

First of all I change the table name in the create.js file
Now I have the name of the table right in the file.
It sounds like posts24

Next, I run the script and create a table.
I prescribe the uniqueness of the cell so that duplicates are not recorded.

ALTER TABLE posts23 MODIFY url varchar (255) UNIQUE KEY

Change the table name in the post-garden.js script file
I launch it.

Actually, now you can run a check for uniqueness. I change the name of the plate (also manually) in the unic.js script

And I launch it. I wait 10-60 seconds for it to work.
And I start again. Unfortunately, so far you have to run it in this way 20-30 times.

Oh yes, before that I run to clear the table with the number

node num.js

Files (below in the post, after RUS variant).

RUS:
Впервую очередь я меняю имя таблицы в файле create.js
Сейчас у меня прямо в файле прописано имя таблицы.
Звучит оно как posts24

Далее, я запускай скрипт и создаю таблицу.
Прописываю уникальность ячейке, чтобы дубли не записывались.

ALTER TABLE posts23 MODIFY url varchar(255) UNIQUE KEY

Меняю название таблицы в файле скрипт post-garden.js
Запускаю его.

Собственно, теперь можно запускать проверку на уникальность. Я меняю имя таблички (тоже вручную) в скрипт unic.js

И запускаю его. Ожидаю секунд 10-60 пока он сработает.
И запускаю снова. К сожалению пока приходится запускать его таким образом 20-30 раз.

Ах да, перед этим запускаю для очистки таблицы с номером

node num.js

Файлы:

create.js

const mysql = require("mysql2");

const connection = mysql.createConnection({
host: "localhost",
user: "root",
database: "garden",
password: "root"
});

let mytable_p = 'posts24';
let mytable_c = 'c1711';
let mytable_day = 'a1711';

let sql = `create table if not exists ${mytable_p}( id int primary key auto_increment, author varchar(255) not null, title varchar(255) not null, created varchar(255) not null, length int not null, url varchar(255) not null, comments int not null, upvotes int not null, points float not null, percent float not null)`;


connection.query(sql, function(err, results) {
if(err) console.log(err);
else console.log("Таблица создана");
});

connection.end();





post-garden.js

const fs = require("fs");
const steem = require('steem');
let body3R = '';


let accounts = fs.readFileSync('spisok.txt').toString().split(" ");
console.log(accounts);

let mytable = 'posts24';

//https://steemit.com/hive-171319/@alexmove/the-word-game-post-2


accounts.forEach(function (element,i,array){

steem.api.getDiscussionsByAuthorBeforeDate(element,null, new Date().toISOString().split('.')[0],3, function(err, result) {
      //console.log(result.length);
       
       if (result)
       {
        var i, len = result.length;
                    for (i = 0; i < len; i++) 
                    {
                                                    
                       var raw = result[i];
                       console.log('Автор');
                       console.log(raw.author);
                       console.log('Заголовок');
                       console.log(raw.author);
                     console.log('Сообщество');
                    console.log(raw.category);
                    console.log(raw.permlink);
                   //      console.log('Длина поста');
                   //    console.log(raw.body_length);
                     //    console.log('Количество ожидаемого вознаграждения');
                       console.log(raw.category);
     console.log('Сообщество');                     
                    // console.log(raw.replies.length);
                   //      console.log('Количество upvote');
                        let upvote = raw.active_votes.length-1;
                      // console.log(raw.active_votes.length-1);
     console.log('Дата создания');                   
     console.log(raw.created);
    let input = raw.created;
    var d = new Date(); // Today!

                        d.setDate(d.getDate()); // Yesterday!
                        d = d.toJSON().split("T")[0];
            let title = raw.title;

    title = title.replace(/[^a-zа-яё0-9\s]/gi, ' ');
            
    if ((input.indexOf(d) !== -1)&& (raw.category === 'hive-180821'))
  // if (input.indexOf(d) !== -1)

    {
    body3R =  `| `+raw.author + `| <a href="`+raw.url+`">` + title + `</a>| `+ upvote + `| ` +  `????`  + `| ` + raw.children+`| ` + raw.body_length+ ' | \n';
    console.log(body3R);
    
    console.log(body3R);


            const mysql = require("mysql2");
  

const connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  database: "garden",
  password: "root"
});

//connection.on('error', function() {});

        const sql = `INSERT INTO ${mytable}(author, title, created, length, url, comments, upvotes, points,percent) VALUES('${raw.author}', '${raw.title}', '${raw.created}', '${raw.body_length}', '${raw.url}', '${raw.children}', '${upvote}','0','0')`;
         
    
         console.log(sql);

         connection.query(sql, function(err, results) {
         if(err) console.log(err);
          console.log(results);
                    });     
         connection.end();


    }
}


}
        });
});


unic.js

 const mysql = require("mysql2");

const steem = require('steem');

let wifkey = 'xxxx';
let votey = "alexmove";
    
 //connection.on('error', function() {});
const connection = mysql.createConnection({
  host: "localhost",
  user: "root",
  database: "garden",
  password: "root"
});


let sql = `SELECT * FROM post_number`   ;
connection.query(sql,  function(err, results) {
    if(err) console.log(err);
    const users2 = results;
        // console.log(results);  

           
    let post_number = users2[0].number;
   // let post_number = 0;
        console.log(post_number);   
    post_number++;
    
      const sql8 = `UPDATE post_number SET number='${post_number}' LIMIT 1000`;
          
            //console.log(sql);
    
            connection.query(sql8,function(err, results) {
            if(err) console.log(err);
            console.log(results);
            });
                   


/*
let sql_date = `SELECT * FROM date` ;
connection.query(sql_date,  function(err, results) {
    if(err) console.log(err);
    const users2 = results;
    //          console.log(results);   

     let mytable_p = users2[0].p;
     let mytable_c = users2[0].c;
     let mytable_day = users2[0].a;

*/

     let mytable_p = 'posts24';

     
//скрипт date
//});
//connection.end();

const axios = require('axios');
const FormData = require('form-data');
     

let users; 

    const sql = `SELECT * FROM ${mytable_p} ORDER BY length DESC`;
    //const sql = `SELECT * FROM p0111 ORDER BY length DESC`;
    //     console.log(sql);   

    connection.query(sql,  function(err, results) {
        if(err) console.log(err);
          //        console.log(results);   

        users = results;
                console.log('[1]');   
  
  console.log(results[results.length-1]); 
            console.log(results.length);   

     if (users[post_number])
       {
           
        console.log(results.length);   
        console.log(results.length);   
        console.log(results.length);   
        console.log(results.length);   
   //     console.log(post_number);   
   //     console.log('[2]');   
   //     console.log(results[77]);   
   ///     console.log(results[4]);   
   //     console.log(post_number);   
      //  console.log(users[post_number].author); 
   


    let data;
    async function makeGetRequest(qqq,aaa) {


            const form_data = new FormData();
         //  form_data.append('text', qqq);
            form_data.append('url', qqq);
            // form_data.append('test', '1');

            let res = await axios.post('https://content-watch.ru/public/api/?action=CHECK_URL&key=lsjhl80J7RiB4FU', form_data, 
                { headers: form_data.getHeaders() });

            data = res.data;
           // console.log(data);
            console.log(data.percent);

/*
                function highlight_words(text, hightlight)
                {
                    var words = text.split(" ");
                    for (var i = 0; i < hightlight.length; i++)
                    {
                        words[ hightlight[i][0] ] = '<strong>' + words[ hightlight[i][0] ];
                        words[ hightlight[i][1] ] = words[ hightlight[i][1] ] + '</strong>';
                    }
                    return words.join(" ");
                }
*/

          //  console.log(data.matches);
            console.log(data.matches[3]);


  let answer2 = data.percent + "% уникальности текста (uniqueness of the text) " + " <br> " + "Здравствуйте. Это полуавтоматическая проверка уникальности сервисом content-watch. Пожалуйста, сообщайте о неточностях. <b>Уникальность вашей статьи согласно сервиса content-watch.ru равна: " + data.percent + "% </b><br><br>Hello. This is a half-automatic uniqueness check by the content-watch service Please report any inaccuracies  <b> The uniqueness of your stat th according to the content-watch.ru service is equal to: "+ data.percent +"% </b><br> ";
  
  var d = new Date(); // Today!

  d.setDate(d.getDate() - 1); // Yesterday!
    d = d.toJSON().split("T")[0];
        
    let permlink = new Date().toISOString().replace(/[^a-zA-Z0-9]+/g, '').toLowerCase();
    
    const url = new URL(qqq);

let test2 = url.pathname.split('/');
 test2 = test2[3];

console.log('TITLE');
console.log(test2);
console.log(qqq);

console.log('TITLE');


//const params = new URLSearchParams(url.search)
//console.log(params.get("filter"))

  steem.broadcast.comment(
            wifkey, // Your posting wif
            aaa, // Parent Author
  test2, // Parent Permlink
        votey,
        permlink, // Your post permlink
        '', // Title
        answer2, // Body
        { tags: ['thanks'], app: 'ganeshaway' }, // Json Metadata
        function(err, result) {
            console.log(err, result)});




        

          const sql = `UPDATE ${mytable_p} SET percent='${data.percent}' WHERE url='${users[post_number].url}' LIMIT 1000`;
             console.log(sql)
    
    
    
           connection.query(sql,function(err, results) {
            if(err) console.log(err);
        //  console.log(results);
            });
            
    


        }

const url = new URL('http://www.somedomain.com/account/search?filter=a#top');
console.log(url.pathname.split('/'));
const params = new URLSearchParams(url.search)
//console.log(params.get("filter"))
      //  console.log('makeGetRequest')
        makeGetRequest('https://steemit.com'+users[post_number].url,users[post_number].author);
      //  console.log(users[post_number].url)
      //  console.log(users[post_number].author)
        
  }
    });
    
   });

spisok

christiana-j stefant2007 hanyphonna iffatilyas vivianita apnigrich amberyooper alexmove masril rabibulhasan71 veta-less maulidar azeem22 arul.ellyazhar allfabeta greatketty lensaphoto sailawana riska-amanda lensa-macro saleem456 lika0812 rahmamutuah farid21 hidayat96 sharifanamin grace-p ammacrophoto drshahzad abdulqayyum95857 vipnata irwandisamudra humaidi marcojon nadiaturrina syedarimsha dederanggayoni mtahirhanif yahnel vipnata zubir-steem usama1088 awais827 idayrus rizwanwattoo shafiullahz zaheer123 arul.ellyazhar nasirmali malikshazib partner-macro aamerasghar1 zoyabhatti06 passionfriut merceem toreeto ratnakumbang bondtasir ahtashamch456 lachicarebelde husnainahmad235 steemdoctor1 nishadi89 aslam234 idayrus taillah allahnawaz03 mazam322 zoyabhatti06 atifahmad3045 fwinanda riska-amanda liasteem sharifanamin asriani majeedshah menfita areesha-arish tendgajni muksa helios36 nusratjahan77 lensaphoto7 nifrijal karlin liasteem husnainahmad235 basyir01 ahmad455 zubir-steem zulfikar88 deimage joeltirom agushendri abdrahman08 rizvi007 kenalofficial fajarsullivan jamokhan zainwattoo hive-180821 agamtjutben nurfiana toufiq777 rozi-pasee jusbelmax asriani lensaphoto luckymalik786 bondtasir stefant2007 alee75 babalog jamokhan zainwattoo dederanggayoni

Coin Marketplace

STEEM 0.16
TRX 0.12
JST 0.026
BTC 57110.78
ETH 2521.26
USDT 1.00
SBD 2.32