X-Scripts

Power by humanemulator

НАШИ КОНТАКТЫ:
ICQ My ICQ 625657402: 625657402
Наш скайп: igor_sev2
Email : order@x-scripts.com

Сообщество программистов и манимейкеров


Скрипт Human Emulator сбора финансовых данных по котировкам из таблиц.

Предлагаем вашему вниманию скрипт, который собирает финансовые данные по котировкам из таблиц на finance.yahoo.com.

На вход скрипт принимает символы компаний из файла /data/quotes.txt, который имеет формат:
MSFT
HPQ
INTC
CSCO
AA
ORCL
IBM
и т.д.

В результате работы скрипта создаётся csv файл в формате:
symbol;Prev Close;Open;High;Low;Close;Volume;Change

Пример результатов:
MSFT;31.17;31.08;31.19;31.06;31.14;21,996,313;0.03(0.11%)
HPQ;18.25;18.42;18.41;18.16;18.23;9,983,753;0.02(0.11%)
INTC;23.37;23.48;23.51;23.27;23.39;16,197,458;0.02(0.09%)
CSCO;19.05;19.19;19.20;18.95;19.15;15,482,231;0.11(0.55%)
AA;9.49;9.61;9.65;9.51;9.51;8,861,214;0.02(0.21%)
ORCL;33.01;33.01;33.08;32.56;32.85;12,649,463;0.16(0.48%)
IBM;207.07;207.55;207.57;206.01;206.85;1,298,211;0.22(0.11%)
и т.д.

Настройки скрипта:

// файл с симолами компаний
$quotes=file("data/quotes.txt");
// путь к файлу с результатами создаётся по дате и времени запуска
$res_file_name = "res/".date("mdy_His").".csv";

Для этого скрипта, как впрочем и для любого другого, можно использовать Расписание скриптов для запуска в нужное время или нужное количество раз. В расписании скриптов есть возможность запускать скрипт заданное количество раз, один раз, раз в минуту, раз в 5 минут, раз в 10 минут, по выбору, раз в полчаса, раз в час, раз в день, раз в неделю, раз в месяц, раз в год, бесконечно.

Расписание скриптов. Добавление задачи.














Расписание скриптов.








Можно легко переделать скрипт, для получение любых необходимых данных с finance.yahoo.com. Поменять формат вывода данных. Дописать скрипт, что бы он выполнял необходимый анализ данных и при нахождении нужных параметров отправлял сообщение на email.
Для более быстрой работы скрипта рекомендуется отключить кратинки, java script, java, active x, звуки и видео в настройках браузера.


Сам скрипт:

<?php
/* ** 
//  Наш сайт http://x-scripts.com
//  Скрипт сбора данных из таблиц.
//  по любым вопросам касающимся скрипта 
//  можно написать нам на мыло order@x-scripts.com
** */
$xhe_host ="127.0.0.1:7012";

// The following code is required to properly run XWeb Human Emulator
require("../../Templates/xweb_human_emulator.php");

// ////////// настройки скрипта///////////////////
$quotes=file("data/quotes.txt");
// режим отладки
$dbg=true;
// путь к файлу с результатами
$res_file_name = "res/".date("mdy_His").".csv";
// /////////////////// дополнительные модули /////////////////////
// функции 
require_once("functions.php");

// ///////////////////// script /////////////////////////////////////////////////////////
debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт запустили");

// по всем котировкам
for($i=0;$i<count($quotes);$i++)
{
	// перейти на заданную страницу
	$browser->navigate("http://finance.yahoo.com/q?s=".trim($quotes[$i])."&ql=1");
	
	// получить данные в формате
	//symbol;Prev Close;Open;High;Low;Close;Volume;CHANGE	
	$str=trim($quotes[$i]).";";
	// закрытие
	$str_close=$element->get_inner_text_by_attribute("class","time_rtq_ticker",false);
   // изменение
	$str_change=$element->get_inner_text_by_attribute("class","time_rtq_content",false);
   // prev close
	$str_prev=$table->get_cell_by_number($table->get_number_by_id("table1"),0,1,false);
   // открытие
	$str_open=$table->get_cell_by_number($table->get_number_by_id("table1"),1,1,false);
	// получаем дневной низ и верх
	$str_day_range=$table->get_cell_by_number($table->get_number_by_id("table2"),0,1,false);
   $str_day_range=explode("-", $str_day_range);
	$str_low=trim($str_day_range[0]);
	$str_high=trim($str_day_range[1]);
   // volume
	$str_volume=$table->get_cell_by_number($table->get_number_by_id("table2"),2,1,false);
	// результирующая строка
	$str.=$str_prev.";". $str_open.";".$str_high.";".$str_low.";".$str_close.";".$str_volume.";".$str_change."\n";
	// записываем в файл
	$textfile->add_string_to_file($res_file_name,$str,60) ;
}

debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт закончил работу<br>");

// Quit
$app->quit();
?>



Скрипт написан 19.09.2012 в Human Emulator 4.4.19 Advanced. На момент публикации статьи 20.09.2012 скрипт был рабочий.
скачать скрипт
Количество скачиваний: 2299

Этот скрипт работает в Demo версии программы Human Emulator. Посмотреть все скрипты для Demo и Скачать Demo

Как исправить скрипт, если он не работает, на примере скрипта сбора котировок



<< Другие скрипты

Human Emulator Free!
Бесплатная версия программы Human Emulator!
Скачать программу можно тут!