1
00:00:00,280 00:00:02,200
Привет. В этом видео я хочу поговорить

2
00:00:02,200 00:00:04,319
про парсинг и про подходы к парсингу.

3
00:00:04,319 00:00:07,439
Показать несколько примеров. И начал бы

4
00:00:07,439 00:00:09,240
я вот с такой вот карты и с такой

5
00:00:09,240 00:00:12,599
классификации, что парси мы данные

6
00:00:12,599 00:00:13,639
разные, структурированные,

7
00:00:13,639 00:00:15,280
неструктурированные для того, чтобы

8
00:00:15,280 00:00:18,279
получить из него, из них и форму, и

9
00:00:18,279 00:00:20,720
смысл, да, условно вот такую классную

10
00:00:20,720 00:00:23,439
табличку. Не просто табличку, но она ещё

11
00:00:23,439 00:00:25,599
должна иметь смысл отвечать нашим

12
00:00:25,599 00:00:28,080
задачам и так далее. Сами данные на

13
00:00:28,080 00:00:29,199
входе у нас могут быть

14
00:00:29,199 00:00:31,160
суперструктурированные. Вот пример

15
00:00:31,160 00:00:33,920
XML-файла, из которого мы можем дёрнуть

16
00:00:33,920 00:00:36,760
любой узел. Кто-то за нас уже эти данные

17
00:00:36,760 00:00:39,600
подготовил. Или данные могут быть, так

18
00:00:39,600 00:00:42,280
сказать, полустрактурированы. Например,

19
00:00:42,280 00:00:44,399
имейлы. Мы знаем, что это email. У него

20
00:00:44,399 00:00:48,120
есть методанные поводу того, кто это нам

21
00:00:48,120 00:00:50,719
отправил, какая тема. То же самое с

22
00:00:50,719 00:00:52,879
Телеграмом. Мы знаем, какой канал мы

23
00:00:52,879 00:00:55,320
берём и парсим. Но внутри непонятно, что

24
00:00:55,320 00:00:58,120
происходит. такая полуструктура есть. И

25
00:00:58,120 00:01:00,359
есть вот, как я изобразил, совершенно

26
00:01:00,359 00:01:02,559
неструктурированные данные, сайты,

27
00:01:02,559 00:01:05,320
которые могут быть устроены как угодно,

28
00:01:05,320 00:01:10,200
а разные PDF, э, и картинки аудио-видео,

29
00:01:10,200 00:01:12,520
все устроены не пойми как, с ними нужно

30
00:01:12,520 00:01:15,759
отдельно разбираться, и это целый такой

31
00:01:15,759 00:01:18,799
класс партинга. Тем не менее, все эти

32
00:01:18,799 00:01:20,799
данные, структурированы они или не

33
00:01:20,799 00:01:23,000
структурированы, также ещё и проходят

34
00:01:23,000 00:01:25,240
через фильтры.

35
00:01:25,240 00:01:27,720
старые добрые фильтры, которые можно

36
00:01:27,720 00:01:29,720
программно вызвать. Ну, код, код,

37
00:01:29,720 00:01:32,119
lлоукод - это

38
00:01:32,119 00:01:34,439
не суть. Штука в том, что они как бы

39
00:01:34,439 00:01:37,280
глупые, в кавычках. Они подчиняются

40
00:01:37,280 00:01:39,360
правилам логики, программирования,

41
00:01:39,360 00:01:41,759
каким-то условиям. Мы их можем

42
00:01:41,759 00:01:44,280
использовать, и они работают надёжно,

43
00:01:44,280 00:01:46,920
они хороши. Плюс мы можем задействовать

44
00:01:46,920 00:01:49,680
фильтр AI, который может либо

45
00:01:49,680 00:01:51,960
вытаскивать смыслы, либо фильтровать,

46
00:01:51,960 00:01:54,479
либо же загонять в нужный нам формат,

47
00:01:54,479 00:01:56,680
если на входе вот что-то вот вроде

48
00:01:56,680 00:01:59,799
такого. Вот такая вот схема карта. И

49
00:01:59,799 00:02:03,360
дальше я покажу, а примеры, да. Ну вот

50
00:02:03,360 00:02:05,520
если порассуждать, какие могут быть

51
00:02:05,520 00:02:08,800
примеры в суперструктурированных данных.

52
00:02:08,800 00:02:10,479
Это когда кто-то за нас уже их

53
00:02:10,479 00:02:12,920
подготовил. Например, какие банковские

54
00:02:12,920 00:02:16,280
выпуски, ммэли, джейсоны, календарь,

55
00:02:16,280 00:02:18,200
довольно структурированные данные

56
00:02:18,200 00:02:19,519
какие-нибудь,

57
00:02:19,519 00:02:21,720
показатели финансов,

58
00:02:21,720 00:02:25,160
а все таблички, которые у нас есть, всё

59
00:02:25,160 00:02:27,040
там уже структурировано.

60
00:02:27,040 00:02:29,680
Если говорить про данные, которые слегка

61
00:02:29,680 00:02:32,560
структурированы, да, это могут быть

62
00:02:32,560 00:02:36,200
какие-то новостные сайты, это могут быть

63
00:02:36,200 00:02:39,800
сообщения в мессенджерах, это могут быть

64
00:02:39,800 00:02:42,720
какие-то комментарии к структурированным

65
00:02:42,720 00:02:46,080
данным. Это могут быть, ну, не знаю,

66
00:02:46,080 00:02:49,319
субтитры на Ютубе, которые мы знаем, что

67
00:02:49,319 00:02:51,440
это субтитры, мы знаем метаданные про

68
00:02:51,440 00:02:54,680
эти данные, но что внутри, мы не знаем.

69
00:02:54,680 00:02:57,360
Ну и здесь, грубо говоря, всё остальное.

70
00:02:57,360 00:03:00,360
А здесь сайты, которые строятся как как

71
00:03:00,360 00:03:03,879
угодно. Здесь могут быть

72
00:03:03,879 00:03:05,920
рукописные тексты, тут могут быть

73
00:03:05,920 00:03:09,239
сканированные страницы, здесь могут быть

74
00:03:09,239 00:03:12,159
само аудио или видео, с которым нам

75
00:03:12,159 00:03:14,879
придётся разбираться. Ещё

76
00:03:14,879 00:03:18,799
давайте посмотрим несколько примеров, а,

77
00:03:18,799 00:03:22,239
которые относятся к вот к первой, второй

78
00:03:22,239 00:03:24,640
или третьей корзине. какие могут быть

79
00:03:24,640 00:03:28,080
подходы. И моя цель показать, что этих

80
00:03:28,080 00:03:30,159
инструментов много, они существуют и их

81
00:03:30,159 00:03:32,680
надо подбирать под задачу в зависимости

82
00:03:32,680 00:03:35,400
от того, какой у нас источник. Начну я с

83
00:03:35,400 00:03:39,319
такого сервиса сайта RSS App, который,

84
00:03:39,319 00:03:41,280
как они утверждают, может завернуть в

85
00:03:41,280 00:03:43,720
RSS структурированные данные. Это такой

86
00:03:43,720 00:03:46,920
XML, где есть и разметка, и контент. А

87
00:03:46,920 00:03:49,159
вот такие источники,

88
00:03:49,159 00:03:51,200
например, я могу взять Telegram-канал,

89
00:03:51,200 00:03:52,920
но он должен быть публичным, без всякой

90
00:03:52,920 00:03:56,560
хитрости, и получать из него, а

91
00:03:56,560 00:03:58,519
структурированные данные, которые по

92
00:03:58,519 00:04:00,680
таймерум дёргаются. Что у меня тут есть?

93
00:04:00,680 00:04:03,439
Какие фиды? Вот у меня есть поток на VC,

94
00:04:03,439 00:04:07,879
который берёт, а, берёт страницу и

95
00:04:07,879 00:04:11,560
выдаёт мне это RSS, эту эту RSS, которую

96
00:04:11,560 00:04:13,680
я могу использовать в автоматизации. Вот

97
00:04:13,680 00:04:17,519
сюда падает через RSS всё, что мне

98
00:04:17,519 00:04:21,040
нужно. RSS довольно старый формат, а он

99
00:04:21,040 00:04:23,160
хорошо стандартизирован и часто он всё

100
00:04:23,160 00:04:26,120
ещё используется. Например, покажу вот

101
00:04:26,120 00:04:29,199
многие новостные сайты отдают RS. А,

102
00:04:29,199 00:04:32,680
например, мы можем зайти там на архив и,

103
00:04:32,680 00:04:35,639
а, у них напрямую вот тут RSS, наверное,

104
00:04:35,639 00:04:37,600
нигде не написано, но можно загуглить и

105
00:04:37,600 00:04:39,680
поискать, что они вообще, есть ли у них

106
00:04:39,680 00:04:41,600
RSС, да? То есть взять какой-нибудь

107
00:04:41,600 00:04:44,560
сайт, э, в Гугле, поставить пробел и

108
00:04:44,560 00:04:47,919
поискать RSS, если у них RSS. Вот они

109
00:04:47,919 00:04:51,080
отдают, а, в таком-то формате, а, свои

110
00:04:51,080 00:04:54,360
данные и приводят пример, наприме, вот

111
00:04:54,360 00:04:57,000
пример их публикации. Это можно уже

112
00:04:57,000 00:04:58,400
парсить.

113
00:04:58,400 00:05:02,560
эти, а, эрсэски или вот эти данные, эти

114
00:05:02,560 00:05:04,520
ленты, которые отдают разные сайты, у

115
00:05:04,520 00:05:07,080
них есть стандарт, но никто их не

116
00:05:07,080 00:05:09,080
обязует выдавать, например, полный текст

117
00:05:09,080 00:05:11,800
статьи или добавлять туда картинки или

118
00:05:11,800 00:05:15,199
атачменты. Они могут это делать, но сами

119
00:05:15,199 00:05:18,360
рсэски, их контент устроен по-разному.

120
00:05:18,360 00:05:20,639
Или, например, вот есть сайт с какой-то

121
00:05:20,639 00:05:23,039
рассылкой, я загуглил, у этой рассылки

122
00:05:23,039 00:05:25,360
действительно естьсэска.

123
00:05:25,360 00:05:27,680
Здесь выдаётся в таком формате. Это не

124
00:05:27,680 00:05:29,800
запрещено. Такой unicкод. Русский язык

125
00:05:29,800 00:05:33,039
стал вот таким, но он тоже как бы парбл.

126
00:05:33,039 00:05:35,919
Его можно запарсить, когда мы будем

127
00:05:35,919 00:05:39,199
обращаться вот к этим элементам.

128
00:05:39,199 00:05:42,039
Это дерево. В общем, да, Jon и XML очень

129
00:05:42,039 00:05:44,479
похожи в этом смысле.

130
00:05:44,479 00:05:48,080
Это что касается РССов. Дальше мы можем

131
00:05:48,080 00:05:52,800
парсить email. Вот мейлы я могу. Ну, у

132
00:05:52,800 00:05:54,440
меня здесь сделан отдельный почтовый

133
00:05:54,440 00:05:57,120
ящик, который падает

134
00:05:57,120 00:05:59,440
рассылки по нужной мне теме. Я могу

135
00:05:59,440 00:06:03,479
заходить, читать папку inbox, а, удалять

136
00:06:03,479 00:06:06,680
письмо и работать с контентом, чтобы

137
00:06:06,680 00:06:08,960
отбирать новости по нужной мне теме. То

138
00:06:08,960 00:06:12,639
есть здесь у нас ЛМКА выполняет а

139
00:06:12,639 00:06:15,800
функцию фильтрации. И когда она

140
00:06:15,800 00:06:18,319
зафильтровывает новость, да, если

141
00:06:18,319 00:06:22,160
новостей нет, то это наоборот отрицание,

142
00:06:22,160 00:06:25,720
то, что новостей нет, мы, а, складываем

143
00:06:25,720 00:06:27,960
эту новость в табличку и дальше можем с

144
00:06:27,960 00:06:29,960
ней работать, этот источник данных

145
00:06:29,960 00:06:31,840
структурированных брать для другой

146
00:06:31,840 00:06:34,280
автоматизации.

147
00:06:34,280 00:06:36,720
Например, что касается всяких

148
00:06:36,720 00:06:38,880
документов, сканов и всего, насколько

149
00:06:38,880 00:06:42,199
мне известно, сейчас хорошо перфот

150
00:06:42,199 00:06:45,199
до сих пор перформат некая у Мистрали

151
00:06:45,199 00:06:48,319
есть своя модель OCR. Вот она так

152
00:06:48,319 00:06:52,440
называется. Сейчас поищем OCR.

153
00:06:52,440 00:06:55,319
А Mrль OCR, да, её можно по опишке

154
00:06:55,319 00:06:59,199
вызывать CR2505.

155
00:06:59,199 00:07:02,000
можно в неё скарбмбливать PDF и получать

156
00:07:02,000 00:07:03,879
полный текст документов на выходе. То

157
00:07:03,879 00:07:05,960
есть эта задача уже кем-то решается.

158
00:07:05,960 00:07:08,639
Решается довольно неплохо.

159
00:07:08,639 00:07:11,360
А ещё один пример - это парсинг

160
00:07:11,360 00:07:14,680
Телеграма. Для этого,

161
00:07:14,680 00:07:16,639
а, ну, тут со всеми инструментами, как

162
00:07:16,639 00:07:19,000
вы понимаете, нужно повозиться. Для

163
00:07:19,000 00:07:21,000
этого можно использовать такой модуль

164
00:07:21,000 00:07:22,919
или плагин к Нейтону, называется

165
00:07:22,919 00:07:25,440
Telepilot. Его можно установить только

166
00:07:25,440 00:07:28,560
на селф-хостинге, да, там, где у нас

167
00:07:28,560 00:07:31,199
собственный Nathan. И посмотрите, что он

168
00:07:31,199 00:07:33,160
умеет. Если я добавлю сюда модуль

169
00:07:33,160 00:07:35,879
Telepilot,

170
00:07:35,879 00:07:38,319
а он умеет

171
00:07:38,319 00:07:41,319
вызывать там буквально десятки функций,

172
00:07:41,319 00:07:44,560
часть из них ещё не показывается.

173
00:07:44,560 00:07:46,560
Их можно поискать поиском. Но тут тоже

174
00:07:46,560 00:07:48,840
надо заморочиться. Лепайт - это такой

175
00:07:48,840 00:07:51,360
клиент к телеграму, который может делать

176
00:07:51,360 00:07:54,080
всё, что мы делаем руками.

177
00:07:54,080 00:07:55,800
присоединяться к чатам, парти все

178
00:07:55,800 00:07:58,199
сообщения, давать ответы и так далее.

179
00:07:58,199 00:08:00,680
Очень-очень много функций. Для этого

180
00:08:00,680 00:08:03,159
нужно по-хорошему,

181
00:08:03,159 00:08:04,879
лучше не ходить под собой, под настоящим

182
00:08:04,879 00:08:07,000
аккаунтом, завести ещё один аккаунт

183
00:08:07,000 00:08:09,080
настоящий, зарегистрировать приложение

184
00:08:09,080 00:08:12,479
внутри Телеграма и ходить по чатам,

185
00:08:12,479 00:08:14,560
собирать информацию.

186
00:08:14,560 00:08:17,240
И последнее, наверное, что я покажу -

187
00:08:17,240 00:08:21,960
это APIF. Это такая прослойка

188
00:08:21,960 00:08:25,120
между прослойка для нашей автоматизации.

189
00:08:25,120 00:08:27,800
Например, для Ютуба здесь готовы так

190
00:08:27,800 00:08:31,120
называемые скрейперы. Зачем они нужны и

191
00:08:31,120 00:08:33,360
почему я этим пользуюсь? Потому что,

192
00:08:33,360 00:08:36,680
вообще говоря, а-а сайты, которые

193
00:08:36,680 00:08:39,880
размещают информацию, далеко не все рады

194
00:08:39,880 00:08:42,719
тому, что их атакуют роботы и пытаются

195
00:08:42,719 00:08:46,240
из них тащить информацию, а на баннеры

196
00:08:46,240 00:08:49,200
их не смотрят и денег им не дают.

197
00:08:49,200 00:08:51,920
Поэтому нужно как-то выкручиваться. И

198
00:08:51,920 00:08:54,959
часть головной боли, вот разные такие

199
00:08:54,959 00:08:58,600
готовые мини-апы, которые публикуются на

200
00:08:58,600 00:09:00,640
Афае, снимают.

201
00:09:00,640 00:09:02,519
А, например, да, вот здесь у меня

202
00:09:02,519 00:09:05,519
YouTube, можно запарсить Instagram.

203
00:09:05,519 00:09:07,120
Давайте посмотрим, что у нас по

204
00:09:07,120 00:09:10,440
Инстаграму. Тоже будет куча разных парк.

205
00:09:10,440 00:09:12,200
Их надо пробовать. Можно ориентироваться

206
00:09:12,200 00:09:13,680
на число звёздочки или число

207
00:09:13,680 00:09:15,200
пользователей.

208
00:09:15,200 00:09:17,839
Они стоят небольших денег, каждый такой

209
00:09:17,839 00:09:20,120
запрос, но они снимают, правда, кучу

210
00:09:20,120 00:09:23,600
головной боли. А можно ещё, а, я

211
00:09:23,600 00:09:27,360
вспомнил, есть Scrap Scrap Ninja,

212
00:09:27,360 00:09:30,560
отдельный сервис, который у него есть

213
00:09:30,560 00:09:32,839
N8N интеграция,

214
00:09:32,839 00:09:36,920
который тоже позволяет скрепить, а сайты

215
00:09:36,920 00:09:40,120
и использовать там даже прокси, потому

216
00:09:40,120 00:09:43,680
что а сайты не любят, когда куча кучу

217
00:09:43,680 00:09:47,120
запросов ээ им отправляют из одного и

218
00:09:47,120 00:09:50,079
того же места. Ну и если говорить ещё

219
00:09:50,079 00:09:53,560
про Websrapping, то Firecoll,

220
00:09:53,560 00:09:56,680
конечно, это тоже суперсервис, тоже

221
00:09:56,680 00:10:00,120
платный, а который позволяет, а вот их

222
00:10:00,120 00:10:02,360
слоган превратить вот в сайт LM Ready

223
00:10:02,360 00:10:05,360
Data. Если мы возьмём, например, найдём

224
00:10:05,360 00:10:07,320
тут демоo,

225
00:10:07,320 00:10:11,519
тут есть отличное демоground.

226
00:10:11,959 00:10:14,399
И возьмём какой-нибудь сайт. Давайте

227
00:10:14,399 00:10:15,959
вот, может быть, даже из тех, что я

228
00:10:15,959 00:10:22,120
открывал. Вот OCR возьмём и заскрепим в

229
00:10:22,120 00:10:23,959
Mark.

230
00:10:23,959 00:10:28,640
Mark. Аа, может быть, даже сари сделаем.

231
00:10:28,640 00:10:30,800
Вот так.

232
00:10:30,800 00:10:31,880
Сейчас

233
00:10:31,880 00:10:34,839
их робот пойдёт на этот сайт, посмотрит,

234
00:10:34,839 00:10:36,959
как он устроен, отбросит всякие лишние

235
00:10:36,959 00:10:39,680
HTML, попробует выделить заголовки под

236
00:10:39,680 00:10:42,680
заголовки, да, попытается справиться.

237
00:10:42,680 00:10:44,440
Ну, мне говорят, что нужно

238
00:10:44,440 00:10:46,279
засайнапиться. Я сейчас не хочу этого

239
00:10:46,279 00:10:48,920
делать. Тем не менее, мы добыли аа

240
00:10:48,920 00:10:52,079
контент этого сайта, а, и можем

241
00:10:52,079 00:10:57,000
использовать этрс в нашей автоматизации.

242
00:10:57,000 00:11:00,120
Такие вот подходы к этой карте, а,

243
00:11:00,120 00:11:01,399
структурированные, слабо

244
00:11:01,399 00:11:02,760
структурированные или вообще не

245
00:11:02,760 00:11:06,120
структурированные. И, собственно,

246
00:11:06,120 00:11:08,760
этот источник данных, по большому счёту,

247
00:11:08,760 00:11:11,920
и определяет логику наших действий.

248
00:11:11,920 00:11:13,760
Используем ли мы готовые решения?

249
00:11:13,760 00:11:15,839
Используем ли мы сильно

250
00:11:15,839 00:11:17,880
детерминированные решения, когда данные

251
00:11:17,880 00:11:21,200
уже структурированы, либо мы начинаем

252
00:11:21,200 00:11:24,440
промтить эти данные через AI, просить,

253
00:11:24,440 00:11:26,720
например, перегнать это в нужный формат,

254
00:11:26,720 00:11:28,839
зафильтровать, отформатировать и так

255
00:11:28,839 00:11:33,279
далее. Вот такой подход. M.