SE keywords export

smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

Re: SE keywords export

Post by smart »

admin wrote: Wed Aug 18, 2021 7:31 am а где конкретно раздел SE?
Это какой пункт меню?
внизу раздел system trades > SE
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: SE keywords export

Post by admin »

а в чем там вопрос? они ж все выводятся, просто копи-пасте прямо со страницы

или я что-то не понимаю?
Don't forget to run script update
smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

Re: SE keywords export

Post by smart »

admin wrote: Wed Aug 18, 2021 8:07 am а в чем там вопрос? они ж все выводятся, просто копи-пасте прямо со страницы

или я что-то не понимаю?
Каждый раз делаю копипаст и приходится чистить потом от лишних цифр статистики которые копируются при обычном копипасте. Или я не совсем понимаю как правильно сделать копипаст, чтобы скопировать исключительно ключи ?
smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

Re: SE keywords export

Post by smart »

Semen_ssr wrote: Tue Aug 17, 2021 11:37 am Не, не это он хочет, у меня давно организовано:

Code: Select all

<?php
    function init(){
	$create_query = "CREATE TABLE IF NOT EXISTS `sepage_keys` (
	  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
    `key` varchar(200) NOT NULL,
      PRIMARY KEY (`id`),
        UNIQUE KEY `keys` (`key`),
	  UNIQUE KEY `id_2` (`id`),
	    KEY `id` (`id`),
	      KEY `key` (`key`)
	      ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1";
	$result = mysql_query($create_query) or die('Query failed: ' . mysql_error());
	$result = mysql_query("ALTER TABLE `sepage_keys` ADD `hits_count` INT UNSIGNED NOT NULL DEFAULT '0' AFTER `key`");
    }
    
    function clean($key){
    $key = urldecode($key);
    $key = preg_replace("/[^A-Za-z0-9]/", " ", $key);
    $key = preg_replace('!\s+!', ' ', $key);
    $key = trim($key);
    return strtolower($key);
    }
        

    function parse_query($key, $query, $keyword){
	//echo "parseq";
	$array = explode("&", $query);
	foreach($array as $temp){
	if(preg_match("/^$key=(.*?)$/", $temp, $text)){ return clean($text[1]); }}
	return $keyword;
    }


    function parse_ref($ref_string, $keyword){
        $array_host = parse_url($ref_string);
	if(preg_match("/google/", $array_host["host"])){
	    $keyword = parse_query("q", $array_host["query"], $keyword);
	} elseif(preg_match("/yahoo/", $array_host["host"])) {
	    $keyword = parse_query("p", $array_host["query"], $keyword);
	} elseif(preg_match("/bing/", $array_host['host'])) {                                                                          
            $keyword = parse_query("q", $array_host['query'], $keyword);
	} elseif(preg_match("/seznam/", $array_host['host'])) {                                                                           
            $keyword = parse_query("oq", $array_host['query'], $keyword); 
	} elseif(preg_match("/aol/", $array_host['host'])) {                                                                           
	    $keyword = parse_query("q", $array_host['query'], $keyword);
	} elseif(preg_match("/dogpile/", $array_host['host'])) {                                                                            
	    $keyword = parse_query("q", $array_host['query'], $keyword);  
	} elseif(preg_match("/netscape.fr/", $array_host['host'])) {
	    $keyword = parse_query("query", $array_host['query'], $keyword);
	} elseif(preg_match("/netscape/", $array_host['host'])) {
	    $keyword = parse_query("s", $array_host['query'], $keyword);
	} elseif(preg_match("/bellsouth/", $array_host['host'])) {
	    $keyword = parse_query("string", $array_host['query'], $keyword);
	} elseif(preg_match("/search.earthlink.net/", $array_host['host'])) {
	    $keyword = parse_query("q", $array_host['query'], $keyword);
	} elseif(preg_match("/aolsearch/", $array_host['host'])) {
	    $keyword = parse_query("query", $array_host['query'], $keyword);
	} elseif(preg_match("/earthlink/", $array_host['host'])) {
	    $keyword = parse_query("q", $array_host['query'], $keyword);
	} elseif(preg_match("/peoplepc/", $array_host['host'])) {
	    $keyword = parse_query("q", $array_host['query'], $keyword);
	} elseif(preg_match("/orange/", $array_host['host'])) {
	    $keyword = parse_query("q", $array_host['query'], $keyword);
	} else {
	    $keyword = $keyword;
	}
	return $keyword;
    }
										    
    //include('config.php');
    
    // Connecting, selecting database
    $link = mysql_connect("localhost", "user", "pass") or die('Could not connect: ' . mysql_error());
	// echo 'Connected successfully';
    $handle = fopen("dbs.txt", "r");
    if ($handle) {
    //$lines = file($filename, FILE_IGNORE_NEW_LINES);
      while (($line = fgets($handle)) !== false) {
        // process the line read.
    $line = str_replace(array("\r", "\n"), '', $line);
    echo ($line);
    mysql_select_db($line) or die('Could not select database');
    init();
    // Performing SQL query
    $query = "SELECT * FROM refs where trader='SE'";
    
    $result = mysql_query($query) or die('Query failed: ' . mysql_error());
    
    $re = "/(4teen|6teen|7teen|adolescent|animal|child|child porn|child pornography|child sex|childporn|children|childsex|forteen|horse|illegal lolitas|juvenile|kid porn|kiddie|kiddie porn|kiddie sex|kiddieporn|kiddiesex|kiddy|kinderporn|kindersex|koprofagie|kotoran|lola|lolita|lolitas|lolitaz|minor|minors|paedophilia|paidophilia|pdophile|pdophilie|pederastia|pediphile|pedo|pedofilia|pedoland|pedophelia|pedophile|pedophilia|pedophylia|pre teen|pre teenage|pre teenager|pre teenagers|pre teens|pre-adolescent|pre-teen|preeteen|prelolitas|preteen|rape|rapi|schoolgirl|sixteen|teen 13|teen 14|teen 15|teen 16|teen 17|teen13-17|under age|underage|underaged|zoo|10|11|12|13|14|15|16|17)/";
    
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $keyword =  parse_ref($row['referer'],"NOT_KEY");
		if (preg_match($re, $keyword) > 0) { 
			continue;
		}
		
		if ($keyword!="NOT_KEY") {
			if(strlen($keyword)>3 && strpos($keyword,"http") === false)
			{
			
			$query = "SELECT * FROM sepage_keys where `key`='".$keyword."'";
			$keysresult = mysql_query($query) or die ("Error in query: $query " . mysql_error());
			$num_results = mysql_num_rows($keysresult);
			if ($num_results == 0){
				$insertq = "INSERT INTO `sepage_keys`(`id`, `key`) VALUES(0,'".$keyword."')";
				mysql_query($insertq) or die('Query failed: ' . mysql_error());
			} else { 
				$updateq = "UPDATE `sepage_keys` SET `hits_count` = `hits_count` +1 where `key`='".$keyword."'";
				mysql_query($updateq) or die('Query failed: ' . mysql_error());
			}
			//echo $keyword;
			//echo "<br>";
			}
		}
    }

 }

    fclose($handle);
}
/*    $query = "SELECT * FROM sepage_keys";
	$keysresult = mysql_query($query) or die ("Error in query: $query " . mysql_error());
	$num_results = mysql_num_rows($keysresult);
    if (php_sapi_name() != 'cli'){
        echo "Currently in DB: ".$num_results."<br/>";
        }
    $allkeys = "";
    while($row = mysql_fetch_array($keysresult)){
		if (!empty($allkeys)){
		$allkeys = $allkeys."|";
		}
		$allkeys = $allkeys.$row["key"];
		//Edited - added semicolon at the End of line.1st and 4th(prev) line
	}
	if (php_sapi_name() != 'cli'){
	    echo "Values: {".$allkeys."}<br/>";
	    }
*/	    
    mysql_close($link);
?>

И просто имеем таблицу sepage_keys за всю историю, ранается по крону.
smart, разберешься ?
я не совсем представляю как это использовать и что сделать нужно с этим кодом, но идею я понял, на автомате собирать базу запросов проверяя по блеклисту
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: SE keywords export

Post by admin »

smart wrote: Wed Aug 18, 2021 8:28 am
admin wrote: Wed Aug 18, 2021 8:07 am а в чем там вопрос? они ж все выводятся, просто копи-пасте прямо со страницы

или я что-то не понимаю?
Каждый раз делаю копипаст и приходится чистить потом от лишних цифр статистики которые копируются при обычном копипасте. Или я не совсем понимаю как правильно сделать копипаст, чтобы скопировать исключительно ключи ?
в браузере нажимаем ctrl и выделяем столбец со словами)
Don't forget to run script update
smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

Re: SE keywords export

Post by smart »

admin wrote: Wed Aug 18, 2021 8:44 am
smart wrote: Wed Aug 18, 2021 8:28 am
admin wrote: Wed Aug 18, 2021 8:07 am а в чем там вопрос? они ж все выводятся, просто копи-пасте прямо со страницы

или я что-то не понимаю?
Каждый раз делаю копипаст и приходится чистить потом от лишних цифр статистики которые копируются при обычном копипасте. Или я не совсем понимаю как правильно сделать копипаст, чтобы скопировать исключительно ключи ?
в браузере нажимаем ctrl и выделяем столбец со словами)
в каком браузере это делается ? делаю так:
- открываю окно SE из system trades
- в открывшемся окне прокручиваю до списка ключевых слов
- зажимаю ctrl и левой кнопкой мыши начинаю вделение

по итогу выделяется все точно так же как и без зажатого ctrl и ключи и цифры
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: SE keywords export

Post by admin »

https://habr.com/ru/post/85569/

вот с ходу что нагуглилось
Don't forget to run script update
smart
Posts: 1356
Joined: Sun Oct 09, 2011 4:54 pm

Re: SE keywords export

Post by smart »

admin wrote: Wed Aug 18, 2021 4:02 pm https://habr.com/ru/post/85569/

вот с ходу что нагуглилось
видимо придется переехать с хрома в фф )))
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: SE keywords export

Post by admin »

https://qastack.ru/superuser/316293/sel ... gle-chrome

с ходу нагуглил что есть расширение) пригодится в жизни )
Don't forget to run script update
Post Reply