Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
Kastaneda
Форумчанин
Эксперт С++
4480 / 2842 / 227
Регистрация: 12.12.2009
Сообщений: 7,225
Записей в блоге: 1
Завершенные тесты: 1
#1

Реальная задача для реального проекта для желающих покодить - C++

19.07.2016, 19:54. Просмотров 785. Ответов 24
Метки нет (Все метки)

Привет

Попросили сделать парсер сайта по-дружески, но у меня реально времени на него нет. Если кому-то интересно, могу двигать в нужном направлении и может, при желании, могу пинать за плохой код.
Что нужно сделать - парсер с HTTP клиентом. Пример клиента на boost::asio скину, покажу как парсить HTML регулярками (да, есть библиотеки, но думаю руками будет интересней). Могу архитектуру накидать еще.

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

Тему не помещаю во фриланс, т.к. денег не предвидится, но вообще, могу уточнить, может там какая-то чисто символическая сумма будет.

Да, знаю С++ тут не лучший выбор, но тут большая активность желающих обучаться людей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2016, 19:54     Реальная задача для реального проекта для желающих покодить
Посмотрите здесь:
Список вопросов по C++ для желающих проверить свои знания C++ C++
C++ Где взять исходники реального проекта
График реального времени для данных, поступающих из СОМ-порта (MFC) Visual C++
C++ WinAPI Программа для подсчета реального, пользовательского и системного времени работы какого-то ехе-файла
C++ Builder Создание шаблона для проекта
Компиляция С++ проекта для КПК C++
C++ Тема для дипломного проекта
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,290
Записей в блоге: 17
26.07.2016, 23:02     Реальная задача для реального проекта для желающих покодить #21
Цитата Сообщение от Kastaneda Посмотреть сообщение
Как бы сетевого программирования тут не будет, задача сводится к другому.
Все зависит от того что считать сетевым программированием, знание HTTP все таки требуется.
Kastaneda
Форумчанин
Эксперт С++
4480 / 2842 / 227
Регистрация: 12.12.2009
Сообщений: 7,225
Записей в блоге: 1
Завершенные тесты: 1
26.07.2016, 23:04  [ТС]     Реальная задача для реального проекта для желающих покодить #22
Цитата Сообщение от Avazart Посмотреть сообщение
Нет самый простой использовать либу для HTTP, а не уровень сокетов.
либу еще прикрутить надо, а буст уже прикручен, ctrl+C, ctrl+V явно быстрее
На самом деле не вижу предмета спора, будет класс, который будет использоваться так
C++
1
std::string html = http_client::get("doman.name.com");
начинку http_client можно будет заменить в любой момент, если когда-нибудь в этом будет необходимость, тогда уже можно и готовые либы использовать. Пока же никакой необходимости в этом нет. Зачем тянуть к проекту дополнительную библиотеку?
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,290
Записей в блоге: 17
26.07.2016, 23:15     Реальная задача для реального проекта для желающих покодить #23
Цитата Сообщение от Kastaneda Посмотреть сообщение
правильно это делать на питоне
Ну вы сами написали что на С++, я не стал советовать питон (хотя опять же спорный вопрос, иногда проще кинуть клиенту экзешник и забыть, нежели ставить ему питон, ставить либы для парсинга, ставить PyQt)

Цитата Сообщение от Kastaneda Посмотреть сообщение
либу еще прикрутить надо,
Вы пишите в С++Builder ? Если нет не вижу проблем с прикручиванием сторонних либ

Цитата Сообщение от Kastaneda Посмотреть сообщение
Зачем тянуть к проекту дополнительную библиотеку?
Зачем тянуть весь монстр-буст ?

Касательно кода, опять же куки, заголовки, исключения, таймауты, прокси и понеслась....
Я уже не говорю что из
Цитата Сообщение от Kastaneda Посмотреть сообщение
для следующих листбоксов тянутся аджаксом
может последовать то что потребуется браузерный движок.

Я к тому что следует посмотреть снифером запросы, а для этого некоторый опыт по анализу HTTP-запросов нужен.
Kastaneda
Форумчанин
Эксперт С++
4480 / 2842 / 227
Регистрация: 12.12.2009
Сообщений: 7,225
Записей в блоге: 1
Завершенные тесты: 1
26.07.2016, 23:37  [ТС]     Реальная задача для реального проекта для желающих покодить #24
Цитата Сообщение от Avazart Посмотреть сообщение
может последовать то что потребуется браузерный движок.
Я к тому что следует посмотреть снифером запросы, а для этого некоторый опыт по анализу HTTP-запросов нужен.
Не, там все очень просто - в браузере отследил нужные запросы, в ответ приходит HTML с кодом 200. Никаких дополнительных приседаний не надо.

Я даже не вижу причин иметь дополнительную зависимость (в виде библиотеки) для такой простой задачи. Проект и так зависит от буста, заюзать boost::asio не проблема. Сейчас точно известно, что готовый клиент из бустовских примеров полностью покрывает все потребности.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2016, 23:39     Реальная задача для реального проекта для желающих покодить
Еще ссылки по теме:
C++ Builder Отдельная папка для проекта
QTest для Widget проекта
Смена иконки для проекта C++ Builder
Идея для первого проекта C++
MakeFile для многофайлового проекта C++ Linux

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Avazart
7102 / 5279 / 267
Регистрация: 10.12.2010
Сообщений: 23,290
Записей в блоге: 17
26.07.2016, 23:39     Реальная задача для реального проекта для желающих покодить #25
Kastaneda, Вам виднее.
(но я бы проверил есть ли в ответе на тот самый запрос все то что нужно спарсить)
Yandex
Объявления
26.07.2016, 23:39     Реальная задача для реального проекта для желающих покодить
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru