63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
1 | |
Парсинг30.11.2018, 21:01. Показов 4375. Ответов 64
Хочу написать программу на С++ которая будет парсить сайт и к примеру в зависимости от текста на сайте она будет что-то делать. До этого не имел дела с парсингом вообще. Пытался погуглить какие-то статьи либо видео на тему парсинга но почти ничего толкового не нашел,кто-то может подсказать с чего нужно начать?
0
|
30.11.2018, 21:01 | |
Ответы с готовыми решениями:
64
Парсинг Парсинг Парсинг Парсинг строки |
322 / 174 / 78
Регистрация: 09.10.2014
Сообщений: 809
|
|
04.12.2018, 01:40 | 41 |
Не, для парсинга возьму какую-нибуть Gumbo или tidy-html5 или еще чего и сохраню свои пальчики в порядке)
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
04.12.2018, 01:46 | 42 |
НУ я допустим с графоном сразу после первого курса занялся. Ну в общем за лето с друганом освоили все что было в эту тему на весь второй курс рассчитано а дальше во всю в самонаведение турелей игрались. Помогло сильно при изучении теории автоматического управления на третьем курсе конкретно. Одно дело когда как баран на новые ворота на автоматическое регулирование а совсем другое когда совпадает с тем что уже сам уяснил. Это с одной стороны. С другой когда чему-то одному больше внимания уделяешь то чему то другому естественно меньше потому что нельзя объять необъятное. А что потом понадобится больше неизвестно. К примеру графон графоном а с СУБД знакомство в результате было шапошным. SQL я уже после универа осваивал. Так что по универским временам все средствами фреймверка делал уже на стороне клиента фактически, что по сравнению с SQL запросами на сервер примитивизм.
Так что советовать в этом плане можно разве что что-то фундаментальное. К примеру стоит досканально разобраться как работают смартпоинтеры и почему они заменяют GC и самое главное какие у них недостатки и где их применение уже неудобно в плане архитектуры и как подобные штуки вообще реализовывать. Они вообще как и вся STL как бы инструмент на все мелкие случаи жизни - т.е. годные много для чего вообще но мало для чего лучшие. Смартпоинеры STL как бы искоробочная заплатка полностью заменяющая GC но не сильно превосходящая его по удобству. фактически решает ту же задачи что и GC+слабые ссылки а потому имеет и те же неудобства в плане сложных архитектур. Для многих задач удобнее было бы пользовать двусторонние ссылки, но как бы там такой вагон вариантов что стандартными их сделать не получится. Они нужны именно для подстройки автоматической уборки мусора к реалиям предметной области. Именно за счет этого автомат и получается ручной. Еще один очень важный момент - это ООП и умение проектировать архитектуру. Паттерны паттернами а умение построить иерархию удобную для реалий конкретной задачи реалиями конкретной задачи. Ну а тем более что банда четверых далеко не все могла описать а тем более удержавшись в рамках архитектурных ограничений явы. Вот в этом плане много полезного взял из ознакомления с кодом борландовских фреймверков. Код у них в комплекте идет. Одно неудобство - он на паскале. Поэтому он там и огроменный и то как их идеи на смартпоинтеры (свои а не из stl) переложить и вообще реалиями плюсов решать что получается гораздо меньшим количеством кода делать хотя и с другой но эквивалентной по возможностям архитектурой приходится додумывать самостоятельно
0
|
nmcf
|
04.12.2018, 09:29
#43
|
0
|
Fulcrum_013
|
04.12.2018, 10:37
#44
|
0
|
nmcf
|
04.12.2018, 11:08
#45
|
0
|
Fulcrum_013
|
04.12.2018, 11:12
#46
|
0
|
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,671
|
|
04.12.2018, 13:22 | 47 |
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
04.12.2018, 15:24 [ТС] | 48 |
nmcf, на даный момент изучили указатели и ссылки,ввод и вывод данных с файла(fstream) да и всё,вот всё что мы учим ,на 4 семестре будем вообще С# учить,я же говорю можно выучить за день-два.
0
|
gng
|
04.12.2018, 15:58
#49
|
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|
04.12.2018, 16:05 | 50 |
В С++ предусмотрена идеология расширения через библиотеки. Т.е. абсолютно нормально для С++ взять библиотеку из нестандартного набора и использовать ее. Ну или, в некоторых специальных случаях, точно так же нормальным будет написать ее самостоятельно.
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
05.12.2018, 00:35 | 51 |
Да конечно не фонтан. У нас первый семестр плюсы были, второй паскаль. Т.е. тот объем который вы говорите занял 2 семестра у нас был за 2 лекции максимум. И этого было абсолютно достаточно для тех кто хотел научится. Дальше уже во всю шло применение одного из этих двух языков на выбор к задачам из разных предметных областей. Ну и ознакомление со специализированными для предметных областей языками по ходу пьессы (тогда еще было что не область то язык под нее в последствии вытесненные универсальными).
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
08.12.2018, 02:34 [ТС] | 52 |
nmcf, решил использовать winAPI ,насколько я понял этот способ подходит для скачивания маленьких страниц,а если допустим страница весит 10МБ,что делать в этом случае?
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
08.12.2018, 05:43 | 53 |
0
|
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,671
|
|
08.12.2018, 07:02 | 54 |
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
08.12.2018, 09:51 [ТС] | 55 |
nmcf, я использую для скачивания три метода InternetOpen, InternetOpenUrl и InrernetReadFile и к примеру когда страница весит 1.5КБ то код скачивается нормально, а когда страница весит уже 10МБ то далеко не весь код скачивается
0
|
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,671
|
|
08.12.2018, 10:18 | 56 |
Ты пример скопировал или переделал что-то? Он считывает любой файл.
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||||||
08.12.2018, 13:29 [ТС] | 57 | |||||
nmcf, Я скопировал вот этот пример :
0
|
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
|
|
08.12.2018, 14:16 | 58 |
Ниче что если все это вот так в функцию сунуть то буфер на стеке будет? А стек он не резиновый и для таких дел не предназначен обычно. По дефаулту размер стека 1МБ.
0
|
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,671
|
|
08.12.2018, 14:35 | 59 |
ReYalp, цикл где? Одним вызовом ты не сможешь загрузить файл, тем более не зная его размер.
Если надо сохранять в память, то замени в том примере запись в файл на запись в vector.
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
08.12.2018, 14:51 [ТС] | 60 |
nmcf, Я не до конца разобрался в коде. Получается допустим мы загружаем первые 1024 байта,окей,но как тогда сделать так чтобы программа загружала следующие 1024 байта ?Я понимаю что нужен цикл но я не понимаю какие параметры в нем должны быть,как заранее узнать размер страницы и как сделать так чтобы загрузка начинаналась уже с того места на котором закончилась?
0
|
08.12.2018, 14:51 | |
08.12.2018, 14:51 | |
Помогаю со студенческими работами здесь
60
Парсинг IPv4 Парсинг .xls Парсинг xml Парсинг html Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |