СКРИПТ: Парсер ссылок из выдачи c Rambler.ru поиска

Сбор и анализ всего что можно собрать из сети.
Ответить
Аватара пользователя
XwebDeveloper
Сообщения: 51
Зарегистрирован: 13 ноя 2017, 12:53

СКРИПТ: Парсер ссылок из выдачи c Rambler.ru поиска

Сообщение XwebDeveloper » 01 июн 2020, 15:14

Сборщик ссылок на сайты из поисковой выдачи Rambler.ru поиска по ключевым запросам.

Версия программы: Human Emulator Studio 7.0.50.

Браузер: Chromium и Firefox.

Логика: Получаем поисковые запросы из файла. Вводим их в поиск Rambler.ru и разбираем выдачу на заданную глубину в файл с именем запроса.

Скрипт состоит:
Запускаемый файл parser_rambler.php. В файле functions.php прописаны подключаемые команды.
В папку res записываются файлы с результатами разбора. Имя файла ключевой запрос.txt, содержимое одна строка один url из выдачи.
В папке data лежит файл с запросами для поиска keys.txt в формате одна строка один запрос.

Скачать скрипт:
parser_rambler.7z
(3.71 КБ) 82 скачивания

Настройки скрипта:
// файл с данными для скрипта
$keys = file("data/keys.txt");

// папка с результатами
$path_to_res = $debug->get_cur_script_folder().'res\\';

// глубина прохода в поисковые результаты
$cnt_pages = 10;

// скрипт работает в режим отладки
$dbg = true;

Сам скрипт:
// /////////////////////// скрипт ///////////////////////////////////////////
// кол-во
for($ii=0;$ii<count($keys);$ii++)
{
	// получить запрос
	$key = trim($keys[$ii]);

	// перейти на рамблер	
	$browser->navigate("rambler.ru");

	$input->send_keyboard_input_by_name("query",$key."\n", "20:40");

	// ждём
	sleep(1);
	// обнулим перед следующим проходом
	$crnt_page=1;

	while(true)
	{
		// получим все ссылки на сайты заключённые в тэгах <cite>
		$sites=$webpage->get_body_inter_prefix_all("Serp__item__title","</h2>");
		// получим массив ссылок из строки 
		$sites=explode("<br>",$sites);
		// пройдёмся по всем полученным ссылкам
		for($i=0;$i<count($sites);$i++)
		{        
			// переходим на сайт
			$site=get_string(trim($sites[$i]),"href=\"","\" ");

			if($site=="")
				continue;
			// вывод в панель отладки
			//debug_mess("ссылка на сайт : ".$site);
			debug_mess("путь к файлу : ".$path_to_res.$key.".txt");

			// записываем результат в файл
			$textfile->add_string_to_file($path_to_res.$key.".txt", trim($site)."\r\n", 60);
		}

		// не перешли на следующую страницу 
		if(!next_page($crnt_page)) 
			break;
	}
}

Если скрипт не работает надо проверять префиксы вот в этом коде разбора выдачи аналогично как это описано в парсере яндекса:

// получим все ссылки на сайты заключённые в тэгах <cite>
$sites=$webpage->get_body_inter_prefix_all("Serp__item__title","</h2>");
Запрос на создание скриптов viewforum.php?f=61

Ответить