LINUX.ORG.RU

Надо html парсинг библиотека для C/C++

 , , , ,


0

1

Ищу простую библиотеку для парсинга html на C. Требуется чтобы выполняла примерно такие спойлеры https://drive.google.com/open?id=0ByqEt4VL5ID7bm10VnRCa194dDQ

и вот такие функции мог выполнять: https://drive.google.com/open?id=0ByqEt4VL5ID7aV9RN3RSWW1hRkE

На С, потому что должен исполняться на виндовом десктопе по клику, а других ЯП, кроме пхп, не знаю.

По сути ищу simple html dom для C



Последнее исправление: nikitosios20031 (всего исправлений: 2)

Ответ на: комментарий от nikitosios20031

У пхпшников походу совсем рак мозга. Ты серьезно не понимаешь, как запускается твой пхп, выполняется и данные отдает?

Я думаю, что если выполнишь в сосноли что-то типа php script.php, то получишь, что тебе нужно.

nikolnik ★★★
()
Ответ на: комментарий от no-such-file

php my_super_script.php - отдать my_super_script.php программе php. А программа php в простой домашней винде откуда возьмется? Установить ее туда не вариант.

nikitosios20031
() автор топика
Ответ на: комментарий от no-such-file
nikitosik@NikitosikPC:~$ wine cmd
Microsoft Windows 5.2.3790 (1.8.7)

Z:\home\nikitosik>php
«php» не является ни внутренней или внешней командой, ни batch-скриптом.
nikitosios20031
() автор топика

нахера? бери go + goquery, кросскомпиляция под любую ось, везде все работать будет одним бинарем

umren ★★★★★
()

т.е. как раз по клику как ты хочешь

umren ★★★★★
()
Ответ на: комментарий от nikitosios20031

Установить ее туда не вариант

Так бы сразу и сказал, а то «не умею».

no-such-file ★★★★★
()
Ответ на: комментарий от nikitosios20031

Берете качаете с сайта php дистрибутив скомпиленый, он работает так же как portable программа

В bat прописываете php в этой папке, делов то

ism ★★★
()

Ты не тот инструменнт берёшь. У тебя там показать по клику - если на сайте хоть какая-то простая защита стоит, то тебе нужен Selenium/Chromeless

Если кликать не нужно, то не страдай фигнёй - возьми и выучи основы python и напиши за пару вечером скрипт (используй модуль re встроенный + requests).

Norgat ★★★★★
()
Ответ на: комментарий от nikitosios20031

Ну значит у тебя простой сайт, повезло.

Ставь php и парси им. С C или C++ ты только больше проблем огребёшь.

Norgat ★★★★★
()

Рискну предположить, что можно взять за основу какой-нибудь легковесный опенсорсный (например консольный, а не GUI-вый) браузер и выдрать из него парсер или из движка что-то. Они же на C/C++ все в основном написаны. Кстати, в Qt было что-то браузерное, можно там поискать.

Infra_HDC ★★★★★
()
Последнее исправление: Infra_HDC (всего исправлений: 1)
Ответ на: комментарий от Norgat

Требуется гуевая утилитка, которая по кнопочке парсит все и заносит в текстовый (к примеру) файл. PHP тут не подойдет. Я подумываю подучить C#, для этих целей. Будет гораздо проще, чем с С/С++, ну и будет гуевая утилитка и нормальные библиотеки для парсинга, к тому же туториалов полно всяких.

nikitosios20031
() автор топика
Ответ на: комментарий от nikitosios20031

ты на винде? тогда просто ассоциируй расширение .php с php.exe и радуйся жизни

stevejobs ★★★★☆
()
Ответ на: комментарий от nikitosios20031

Установить ее туда не вариант.

вместе со своим скриптом тащишь портативную версию и всё. Мы всегда так с джавой делаем

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)

стой, а ТЫ ТОЧНО ЗНАЕШЬ PHP? просто я вдруг осознал, что рассказываю вещи, которые знает каждый пыхер

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

PHP знаю на уровне «покажите тутор по simple_html_dom.php и я буду делать деньги». Решил заработать на фрилансе, а мой C99 никому не нужен(9(

nikitosios20031
() автор топика

В свое время я в подобных случаях обходился hta-приложениями с вкраплениями VBScript. Но советовать это я вам не буду, а то меня здесь освистают.

Leupold_cat ★★★★★
()
Ответ на: комментарий от nikitosios20031

А поставить PHP со своей софтиной? Или лицензия и обстоятельства не позволяют ни сделать это «напрямую», ни вынести эту функциональность в лицензионно-совместимый плагин?

alex4321
()
Ответ на: комментарий от nikitosios20031

simple_html_dom очень медленная, про питон я уже говорил

ism ★★★
()
Ответ на: комментарий от no-such-file

винда не умеет запускать батники по клику без костылей: всё равно показывает окно консоли

вроде, каким-то образом, через жо реестр это и лечится, но для того, как нетрудно догадаться, админские права нужны (как минимум), как максимум - правильно определять версию винды

next_time ★★★★★
()
Ответ на: комментарий от next_time

винда не умеет запускать батники по клику без костылей: всё равно показывает окно консоли

можно заюзать мелкомягкий же pstools, или написать это на сях в три строчки

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Client: Windows Vista and higher

или написать это на сях в три строчки

не поможет, если пускать именно через батник, только если процесс напрямую

next_time ★★★★★
()

бери СОМ-интерфейсы IWebBrowser, IHTMLDocument, фреймворк типа ATL - и будь мужуком!

conalex ★★★
()
Ответ на: комментарий от stevejobs

тогда это будет запуск процесса напрямую, с помощью ярлыка, батник так запустить не получится, кроме как cmd.exe *.bat, а оно всё равно пугать юзверей чёрными окошками будет

next_time ★★★★★
()
Ответ на: комментарий от next_time

зачем тебе батник-то? У ярлыка целью устанавливаешь pstools (или свою трехстрочную сишную поделку, делающую то же самое), в свойствах ярлыка задаешь парамтеры командной строки. Поделка дергает php (напрямую она его дергает, а не шелл с параметрами), php дергает скрипт, скрипт выполняется. Нигде графический шелл не запускается.

stevejobs ★★★★☆
()
Ответ на: комментарий от next_time

винда не умеет запускать батники по клику без костылей: всё равно показывает окно консоли

можно было их свернуть, помнится. и вообще спрятать. уже не помню, как это делалось. однажды писали под маздай и нужно было запустить стопицот батников так, чтобы весь маздай не покрывался консолями. как-то тогда решилась эта проблема.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

есть чертова уйма способов) Например, просто «cmdow /run /hid my.bat»

или можно написать скрипт такого вида:

If WScript.Arguments.Count >= 1 Then
    ReDim arr(WScript.Arguments.Count-1)
    For i = 0 To WScript.Arguments.Count-1
        Arg = WScript.Arguments(i)
        If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
      arr(i) = Arg
    Next

    RunCmd = Join(arr)
    CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If

и запускать как «NoShell.vbs c:\foo\my_batch_file.bat»

или что куда лучше - написать свою запускалку на C++:

STARTUPINFO si;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);

PROCESS_INFORMATION pi;
ZeroMemory( &pi, sizeof(pi) );

// Spawn creates a cmd.exe window.  CreateProcess doesn't.
//if ( _spawnl( _P_WAIT, szFileNameBAT, szFileNameBAT, NULL ) ) {  
if ( !CreateProcess( szFileNameBAT, szFileNameBAT, NULL, NULL, false,
                     CREATE_NO_WINDOW, NULL, NULL, &si, &pi  ) ) {
  MyErrorFunc( "CreateProcess( \"%s\" ): %d", szFileNameBAT, GetLastError() );
  goto MyErrorHandling;
}

WaitForSingleObject( pi.hProcess, INFINITE );

CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );

Совсем обленились великие гуры раздела /d ! Три строчки на крестах написать не могут

Но самое верное имхо - это не пользоваться BAT файлами! Нафиг они вам нужны, если вы УЖЕ имеете нормальный скриптовый язык (Python, PHP, итп)

stevejobs ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.