Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.09.2015, 14:29   #1
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию Phantomjs как использовать из С++

Здорова! Тут вообщем узнал что есть Phantomjs и что этой штукой загружают страницы из веб. У меня есть прога на СLI она ее использует, там готовый файл phantomjs.exe лежит рядом в папке.
. CLI как то ее подгружает, я не знаю как. Чувак похоже шарящий писал программу, там вообще в одной программе использутся 3 готовых программы, он ниче сам не делал просто из готового свою прогу создал без изобретения велосипеда. Он ссылка на программу https://github.com/ariya/phantomjs/wiki Там скачиваешь там phantomjs.exe файл и примеры кода на javaScript и все. Ну и что с этим делать, как я могу его на С++ использовать???? Чувак же как то прикрутил.

Я так подумал wininet и курл в стороне нервно курят, есть же Phantomjs . Реально есть шарячие которые тупо готовое прикрутил и все дела, мне до них еще далеко )))).

Не реально интересно как он прикрутил программу . В файл выводил или процесс создавал с помощью CreateProccess. Как думаете что он делал.
phantomjs - это просто консольный браузер чтобы яснее было

Последний раз редактировалось ninja2; 04.09.2015 в 14:35.
ninja2 вне форума Ответить с цитированием
Старый 04.09.2015, 14:57   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Не реально интересно как он прикрутил программу . В файл выводил или процесс создавал с помощью CreateProccess. Как думаете что он делал.
Если бы вам было интересно, вы бы взяли и почитали исходники там же на гитхабе.. а так это пустое балобольство.
p51x вне форума Ответить с цитированием
Старый 04.09.2015, 14:59   #3
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Вообще принцип работы кто знает? Наверно создается CreateProcess и запускается приложение с параметрами, да или как? я только протестил вот скрин

И что мы видим? Видно что приложение нужно запустить и потом в него что то вводит.
Тут идея возникла мб. он javaScript код читает? alter('hellow world'); там нету эту функцию не читает. но читает console.log , короче он javaScript код выполняет. Наверно он запускается в процессе и ему на вход передается JavaScript код который парсит нужные данные да? А как это происходит? Наверно создается пайп и перегружается stdin ???. Там вообще я заметил в папке есть файл с кодом на JavaScript и походу он подается на вход этой программы.

Цитата:
Сообщение от p51x Посмотреть сообщение
Если бы вам было интересно, вы бы взяли и почитали исходники там же на гитхабе.. а так это пустое балобольство.
Да смысл читать, там все примеры кода на js написаны, на С++ ниче нету, а чувак взял умудрился на нем парсер написать на CLI. От интересно как он это сделал. Вообще от смотрю походу node.js так же само можно использовать как эту фигню. Это я так задачку подкинул, чтобы погадали как так можно сделать, для общего развития. Хотя я реально хочу его попробовать подключить и потестить . Похоже нужно для начала на JavaScript написать простейший парсер, а затем уже попробовать прикрутить то что получится к С++.

На Гитхабе там не будет написано как его прикрутить к С++.
Нада эту штуку подключить и попробовать, эта штука вроде получше CURL это точно, а мб. и получше глючного WebBrowser будет ))), мб. на нем бот получится менее глючный. на ИЕ7 глючит постоянно. А если нет, то node.js попробовать, node.js так же само работает, в консоле код javascritp выполняется и наверно ж его также прикручивают к С++. То и то попробовать. а кто то говорил JavsScript нафиг нужен. JavaScript знать лишним никогда не будет

Последний раз редактировалось Stilet; 04.09.2015 в 15:22.
ninja2 вне форума Ответить с цитированием
Старый 04.09.2015, 16:34   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Да смысл читать, там все примеры кода на js написаны, на С++ ниче нету
Может вы все-таки откроете https://github.com/ariya/phantomjs/tree/master/src и увидите проект на плюсах?

Цитата:
Вообще от смотрю походу node.js так же само можно использовать как эту фигню.
Нельзя. Фантом это очень условно ноде + рендеринг.

Цитата:
Это я так задачку подкинул, чтобы погадали как так можно сделать, для общего развития.
Вы о себе слишком высокого мнения. Тут почти все знают, как подобное делается. Это вы уже вторую или третью тему об одном и том же мусолитесь.

Цитата:
На Гитхабе там не будет написано как его прикрутить к С++.
Пишите скрипт и вызываете фантом с параметром.

Цитата:
Нада эту штуку подключить и попробовать, эта штука вроде получше CURL это точно,
Сравнивать качалку файлов и почти движок браузера... вы очень оригинальны.

Цитата:
наверно ж его также прикручивают к С++.
У меня только один вопрос - нафига вам его прикручивать к плюсам? У вас есть движок, который умеет выполнять скрипты, зачем его куда-то пихать?

Цитата:
То и то попробовать. а кто то говорил JavsScript нафиг нужен.
Я знаю кучу программистов, которые не знают ДжаваСкрипта и живут спокойно... Ну не веб прогеры они.
p51x вне форума Ответить с цитированием
Старый 04.09.2015, 16:58   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Если CLI, то наверно можно взять Selenium для .NET. И там есть вебдрайверы и для PhantomJS, и для всех обычных браузеров.

Только лучше выкинуть C++/CLI и взять нормальный C#.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 04.09.2015 в 17:01.
Alex11223 вне форума Ответить с цитированием
Старый 04.09.2015, 17:07   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Если CLI, то наверно можно взять Selenium для .NET. И там есть вебдрайверы и для PhantomJS, и для всех обычных браузеров.
Только зачем?.. Можно взять и связку селениум + селениум и потестить селениум...
p51x вне форума Ответить с цитированием
Старый 04.09.2015, 17:14   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Селениум + селениум это как?

Зачем — ну там можно не использовать JS, раз автор его так не любит. + легче заменить PhantomJS на другой браузер если надо.

И наверно проще взаимодействовать, чем если просто написать скрипт для PhantomJS и запускать. Я впрочем не особо сталкивался с PhantomJS и не в курсе его возможностей в чистом виде.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 04.09.2015 в 17:19.
Alex11223 вне форума Ответить с цитированием
Старый 04.09.2015, 18:50   #8
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

а можно просто создать процесс в потоке перегрузить stdin и отправлять код javaScript на выполнение и получать в stdout что будет выводится в консоль, в файлах можно JavaScritp код хранить. Считал код, подредактировал и отправил запущенной программе на выполнение. Да на с# похоже все есть готовое.
ninja2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрытие phantomjs veter48 PHP 1 07.12.2013 04:28
PhantomJS JavaScript для HTML и cookies D_E_N JavaScript, Ajax 9 11.10.2013 17:15
Эвристическое составление расписания. Как работает Эвристика и как ее использовать в программировании JinAnton C# (си шарп) 0 06.01.2013 14:34
Как использовать отдельную программу как функцию Hemul Общие вопросы C/C++ 1 02.05.2011 19:11