Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Поиск оптимального ключевого запроса

Добрый день!

Разработка ведется на PHP. 

Требования: Curl, Proxy, PHP Simple HTML DOM Parser

Задача: сгенерировать всевозможные варианты смешивания слов по заданному алгоритму, а затем определить оптимальный порядок следования слов в конечной фразе путем использования коллекци документов Google.

1 этап (готов на 90%)

На входе многомерный массив данных:

$s = array(

1 => array (1 => "в дом", 2 => "в квартиру", 3 => "для офиса"),

2 => array (1 => "противовзломные"),

3 => array (1 => "надежные"),

n => ...

n = 36;

Дополнительный массив:

$arPreA = 

array(

array('двери'),

array('двери', 'входные'),

array('двери', 'стальные'),

array('двери', 'металлические'),

array('двери', 'железные'))

Задача состоит в 

1) генерации txt файлов, содержащие в себе набор строк, полученных путем смешивания элементов массива с добавлением массива вводных слов (двери, входные, стальные, металлические, железные).

Пример содержания файла на выходе:

противовзломные тамбурные двери

тамбурные противовзломные двери

двери входные противовзломные тамбурные

входные двери противовзломные тамбурные

двери противовзломные входные тамбурные

Что уже сделано: 

Имеется рабочий пример, написанный на php который генерирует и заливает на FTP txt файлы вида result-00.txt, result-01.txt, каждый из которых содержит набор строк, полученных путем скрещивания одной пары фильтров, с учетом всевозможных вариантов порядка следования слов в конечной фразе, а так же с учетом дополнительноо массива данных.

При n

16 строка скрипта $number=14; //сколько групп берем в работу

Вся суть в том, что для получения всевозможных вариантов необходимо задействовать все 36 групп исходного массива, иначе выборка получится неполной.

При n=13 получается Скрещенных фильтров всего:49151

Двойных: 146

Каждый файл (каждый из 146) содержит 102 строки - вариации 1 скрещивания

Проблема: в случае, если n=>14, скрипт перестает работать. Возникает сообщение о том, что память переполнена. При n=14 возникает сообщение о переполнении в памяти строка 159

if ($sp[$f][$i]!==0)

{

$j[$f][$i]=1;

}

Участок кода отвечает за подсчет длины фильтра

Необходимо переписать логику. В конечном счете должна быть возможность задать длину конечного фильтра (как это сделано в строке 167):

if ($countlen==2) //Обрабатываем фильтры с определенной длиной

{

Пример рабочего php файла по ссылке: https://drive.google.com/file/d/0B77SqzyUPInQOEtiQjJHOEF3N28/view?usp=sharing

Принцип работы генератора фраз в документации по ссылке: https://drive.google.com/open?id=14YqdF0MfhraaVdPJvIKdB4q9qHJX4Ij21t0st2ayFyY

2 этап (разработка с 0)

Задача состоит в

Парсинге выдачи гугл http://prntscr.com/badp22 Интересует число - кол-во результатов

Обрабатываем каждый файл, в файле проверяем каждую строку, сравниваем кол-во ответов Google и на выходе отдаем строку с наибольшим кол-вом результатов

Продолжаем работу со следующим файлом.

На выходе n оптимальных запросов, где n - количество скрещенных фильтров заданной длинны.

При разработке возможно использование proxy, curl

8 лет назад
sergeis79
Сергей 
32 годаРоссия
9 лет в сервисе
Был
4 года назад