Вопрос к тем, кто парсил телеграм!

Nixens

Client
Регистрация
18.02.2018
Сообщения
288
Благодарностей
7
Баллы
18
Как спарсить полностью текст из сообщения? Т.к мне нужно захватить все. Смайлы мешают этому и очень сильно, даже если я правильно вырежу здесь, то с другого канала будет уже какое-то другое сообщение, соответственно другой код элемента будет. Третий день голову ломаю.

Обычный пример что получается :
Код:
<span class="im_short_message_text" ng-if="message.message.length &amp;&amp; (!message.media || message.media._ == 'messageMediaWebPage')" ng-bind-html="message.richMessage">CLOAK/BTC           <span title="fire" class="emoji  emoji-spritesheet-0" style="background-position: -162px -54px;">:fire:</span>Покупка 0.000363<span title="fire" class="emoji  emoji-spritesheet-0" style="background-position: -162px -54px;">:fire:</span>  <span title="point_right" class="emoji  emoji-spritesheet-0" style="background-position: -144px -72px;">:point_right:</span>Продажа 0.000369<span title="moneybag" class="emoji  emoji-spritesheet-2" style="background-position: -198px -36px;">:moneybag:</span> <span title="point_right" class="emoji  emoji-spritesheet-0" style="background-position: -144px -72px;">:point_right:</span>Продажа 0.000374<span title="moneybag" class="emoji  emoji-spritesheet-2" style="background-position: -198px -36px;">:moneybag:</span> <span title="point_right" class="emoji  emoji-spritesheet-0" style="background-position: -144px -72px;">:point_right:</span>Продажа 0.000387<span title="moneybag" class="emoji  emoji-spritesheet-2" style="background-position: -198px -36px;">:moneybag:</span>                  <span title="bell" class="emoji  emoji-spritesheet-2" style="background-position: -162px -18px;">:bell:</span>К</span><!----></span>
  </div><!---->
</div></a><!---->

        <!---->

        <div my-message-body="historyMessage">
          <div class="im_message_text" dir="auto"


Код:
STORJ/BTC<br><br>        <span title="fire" class="emoji  emoji-spritesheet-0" style="background-position: -162px -54px;">:fire:</span>Покупка 0.00003940<span title="fire" class="emoji  emoji-spritesheet-0" style="background-position: -162px -54px;">:fire:</span><br><br><span title="point_right" class="emoji  emoji-spritesheet-0" style="background-position: -144px -72px;">:point_right:</span>Продажа 0.00004097<span title="moneybag" class="emoji  emoji-spritesheet-2" style="background-position: -198px -36px;">:moneybag:</span><br><br><span title="money_with_wings" class="emoji  emoji-spritesheet-2" style="background-position: -306px -36px;">:money_with_wings:</span>Профит 4%<br><br>                <span title="bell" class="emoji  emoji-spritesheet-2" style="background-position: -162px -18px;">:bell:</span>Краткосрок<span title="bell" class="emoji  emoji-spritesheet-2" style="background-position: -162px -18px;">:bell:</span><br>                    <br><span title="exclamation" class="emoji  emoji-spritesheet-4" style="background-position: -0px -72px;">:exclamation:</span>Заходить на часть от свободного баланса.<span title="exclamation" class="emoji  emoji-spritesheet-4" style="background-position: -0px -72px;">:exclamation:</span><br><span title="mega" class="emoji  emoji-spritesheet-2" style="background-position: -198px -18px;">:mega:</span>По всем монетам возможно усреднение<span title="mega" class="emoji  emoji-spritesheet-2" style="background-position: -198px -18px;">:mega:</span><br><span title="bank" class="emoji  emoji-spritesheet-3" style="background-position: -108px -0px;">:bank:</span>Сигнал для биржи Binance<span title="bank" class="emoji  emoji-spritesheet-3" style="background-position: -108px -0px;">:bank:</span><br><br><span title="white_check_mark" class="emoji  emoji-spritesheet-4" style="background-position: -558px -36px;">:white_check_mark:</span>Успешные - 58<br><span title="x" class="emoji  emoji-spritesheet-4" style="background-position: -558px -54px;">:x:</span>Неудачные - 0<br><span title="recycle" class="emoji  emoji-spritesheet-4" style="background-position: -162px -54px;">:recycle:</span> В ожидании - 11
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 184
Баллы
113
Как спарсить полностью текст из сообщения? Т.к мне нужно захватить все. Смайлы мешают этому и очень сильно, даже если я правильно вырежу здесь, то с другого канала будет уже какое-то другое сообщение, соответственно другой код элемента будет. Третий день голову ломаю.

Обычный пример что получается :
Код:
<span class="im_short_message_text" ng-if="message.message.length &amp;&amp; (!message.media || message.media._ == 'messageMediaWebPage')" ng-bind-html="message.richMessage">CLOAK/BTC           <span title="fire" class="emoji  emoji-spritesheet-0" style="background-position: -162px -54px;">:fire:</span>Покупка 0.000363<span title="fire" class="emoji  emoji-spritesheet-0" style="background-position: -162px -54px;">:fire:</span>  <span title="point_right" class="emoji  emoji-spritesheet-0" style="background-position: -144px -72px;">:point_right:</span>Продажа 0.000369<span title="moneybag" class="emoji  emoji-spritesheet-2" style="background-position: -198px -36px;">:moneybag:</span> <span title="point_right" class="emoji  emoji-spritesheet-0" style="background-position: -144px -72px;">:point_right:</span>Продажа 0.000374<span title="moneybag" class="emoji  emoji-spritesheet-2" style="background-position: -198px -36px;">:moneybag:</span> <span title="point_right" class="emoji  emoji-spritesheet-0" style="background-position: -144px -72px;">:point_right:</span>Продажа 0.000387<span title="moneybag" class="emoji  emoji-spritesheet-2" style="background-position: -198px -36px;">:moneybag:</span>                  <span title="bell" class="emoji  emoji-spritesheet-2" style="background-position: -162px -18px;">:bell:</span>К</span><!----></span>
  </div><!---->
</div></a><!---->

        <!---->

        <div my-message-body="historyMessage">
          <div class="im_message_text" dir="auto"


Код:
STORJ/BTC<br><br>        <span title="fire" class="emoji  emoji-spritesheet-0" style="background-position: -162px -54px;">:fire:</span>Покупка 0.00003940<span title="fire" class="emoji  emoji-spritesheet-0" style="background-position: -162px -54px;">:fire:</span><br><br><span title="point_right" class="emoji  emoji-spritesheet-0" style="background-position: -144px -72px;">:point_right:</span>Продажа 0.00004097<span title="moneybag" class="emoji  emoji-spritesheet-2" style="background-position: -198px -36px;">:moneybag:</span><br><br><span title="money_with_wings" class="emoji  emoji-spritesheet-2" style="background-position: -306px -36px;">:money_with_wings:</span>Профит 4%<br><br>                <span title="bell" class="emoji  emoji-spritesheet-2" style="background-position: -162px -18px;">:bell:</span>Краткосрок<span title="bell" class="emoji  emoji-spritesheet-2" style="background-position: -162px -18px;">:bell:</span><br>                    <br><span title="exclamation" class="emoji  emoji-spritesheet-4" style="background-position: -0px -72px;">:exclamation:</span>Заходить на часть от свободного баланса.<span title="exclamation" class="emoji  emoji-spritesheet-4" style="background-position: -0px -72px;">:exclamation:</span><br><span title="mega" class="emoji  emoji-spritesheet-2" style="background-position: -198px -18px;">:mega:</span>По всем монетам возможно усреднение<span title="mega" class="emoji  emoji-spritesheet-2" style="background-position: -198px -18px;">:mega:</span><br><span title="bank" class="emoji  emoji-spritesheet-3" style="background-position: -108px -0px;">:bank:</span>Сигнал для биржи Binance<span title="bank" class="emoji  emoji-spritesheet-3" style="background-position: -108px -0px;">:bank:</span><br><br><span title="white_check_mark" class="emoji  emoji-spritesheet-4" style="background-position: -558px -36px;">:white_check_mark:</span>Успешные - 58<br><span title="x" class="emoji  emoji-spritesheet-4" style="background-position: -558px -54px;">:x:</span>Неудачные - 0<br><span title="recycle" class="emoji  emoji-spritesheet-4" style="background-position: -162px -54px;">:recycle:</span> В ожидании - 11
Вам для начала надо избавиться от HTML-кода, и получить сообщение в текстовой обычной форме.
Если делаете это в браузере зенопостера, то копайте в сторону:
получить innertext site:zennolab.com
Если на запросах шаблон, то подключайте HtmlAgilityPack (пост-мануал с готовым шаблоном Html Agility Pack) и:
htmlagilitypack get innertext

Ну а потом уже из текста смайлики регуляркой по признакам общим удаляете:
Код:
:\w+:
 
Последнее редактирование:
  • Спасибо
Реакции: Nixens

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)