|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.09.2015, 14:29 | #1 |
Форумчанин
Регистрация: 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. |
04.09.2015, 14:57 | #2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
04.09.2015, 14:59 | #3 | |
Форумчанин
Регистрация: 13.08.2015
Сообщений: 193
|
Вообще принцип работы кто знает? Наверно создается CreateProcess и запускается приложение с параметрами, да или как? я только протестил вот скрин
И что мы видим? Видно что приложение нужно запустить и потом в него что то вводит. Тут идея возникла мб. он javaScript код читает? alter('hellow world'); там нету эту функцию не читает. но читает console.log , короче он javaScript код выполняет. Наверно он запускается в процессе и ему на вход передается JavaScript код который парсит нужные данные да? А как это происходит? Наверно создается пайп и перегружается stdin ???. Там вообще я заметил в папке есть файл с кодом на JavaScript и походу он подается на вход этой программы. Цитата:
На Гитхабе там не будет написано как его прикрутить к С++. Нада эту штуку подключить и попробовать, эта штука вроде получше CURL это точно, а мб. и получше глючного WebBrowser будет ))), мб. на нем бот получится менее глючный. на ИЕ7 глючит постоянно. А если нет, то node.js попробовать, node.js так же само работает, в консоле код javascritp выполняется и наверно ж его также прикручивают к С++. То и то попробовать. а кто то говорил JavsScript нафиг нужен. JavaScript знать лишним никогда не будет Последний раз редактировалось Stilet; 04.09.2015 в 15:22. |
|
04.09.2015, 16:34 | #4 | |||||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
|||||||
04.09.2015, 16:58 | #5 |
Старожил
Регистрация: 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. |
04.09.2015, 17:07 | #6 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
04.09.2015, 17:14 | #7 |
Старожил
Регистрация: 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. |
04.09.2015, 18:50 | #8 |
Форумчанин
Регистрация: 13.08.2015
Сообщений: 193
|
а можно просто создать процесс в потоке перегрузить stdin и отправлять код javaScript на выполнение и получать в stdout что будет выводится в консоль, в файлах можно JavaScritp код хранить. Считал код, подредактировал и отправил запущенной программе на выполнение. Да на с# похоже все есть готовое.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Закрытие 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 |