СКРИПТ: Парсер выдачи Yahoo.com

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

СКРИПТ: Парсер выдачи Yahoo.com

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

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

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

Браузер: Chromium.

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

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

Скачать скрипт:
parser_yahoo.7z
(1.96 КБ) 94 скачивания

Настройки скрипта:
// файл с данными для скрипта
$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("yahoo.com");

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

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

	while(true)
	{
		// получим все ссылки на сайты заключённые в тэгах <cite>
		$sites=$webpage->get_body_inter_prefix_all("title ov-h","</h3>");
		// получим массив ссылок из строки 
		$sites=explode("<br>",$sites);

		//print_r($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("title ov-h","</h3>");	
Запрос на создание скриптов viewforum.php?f=61

Ответить