- 20.06.2022
- 23 845
- 218
- 36
- Награды
- 10
- Пол
- Муж.
Репутация:
- Автор темы
- Администратор
- Модератор
- Команда форума
- #1
Бот обладает достаточной скоростью работы и очень легко может быть автоматизирован под нужды разработчика. Также имеется поддержка изменения ключевых слов для парсинга, количества просматриваемых сообщений и сохранение сессии пользователя. Все настройки хранятся в файле settings.ini.
Скрипт работает за счет библиотеки telethon, которая используется для создания юзер ботов. Поэтому перед началом использования нужно будет зарегистрировать новое приложение в инструментах разработчика Telegram. Лк доступен по ссылке. В файл настроек необходимо вписать полученные App api_id и App api_hash, а также имя пользователя юзер бота для авторизации и дальнейшей работы.
На выходе вы получаете файл channel_messages.json, где представлены данные всех сообщений, подошедших по ключевым словам. Для работы с подобным ответом можно использовать приведенный ниже класс, полученный мной с помощью генератора классов JSON
Скачать исходный код парсера на Python вместе с небольшим пресетом настроек можно во вложении
Скрипт работает за счет библиотеки telethon, которая используется для создания юзер ботов. Поэтому перед началом использования нужно будет зарегистрировать новое приложение в инструментах разработчика Telegram. Лк доступен по ссылке. В файл настроек необходимо вписать полученные App api_id и App api_hash, а также имя пользователя юзер бота для авторизации и дальнейшей работы.
На выходе вы получаете файл channel_messages.json, где представлены данные всех сообщений, подошедших по ключевым словам. Для работы с подобным ответом можно использовать приведенный ниже класс, полученный мной с помощью генератора классов JSON
C#:
// Generated by Xamasoft JSON Class Generator
// http://www.xamasoft.com/json-class-generator
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace ParserBot
{
public class PeerId
{
[JsonProperty("_")]
public string _ { get; set; }
[JsonProperty("channel_id")]
public int ChannelId { get; set; }
}
public class Entity
{
[JsonProperty("_")]
public string _ { get; set; }
[JsonProperty("offset")]
public int Offset { get; set; }
[JsonProperty("length")]
public int Length { get; set; }
[JsonProperty("language")]
public string Language { get; set; }
}
public class RecentReplier
{
[JsonProperty("_")]
public string _ { get; set; }
[JsonProperty("user_id")]
public int UserId { get; set; }
}
public class Replies
{
[JsonProperty("_")]
public string _ { get; set; }
[JsonProperty("replies")]
public int Replies { get; set; }
[JsonProperty("replies_pts")]
public int RepliesPts { get; set; }
[JsonProperty("comments")]
public bool Comments { get; set; }
[JsonProperty("recent_repliers")]
public IList<RecentReplier> RecentRepliers { get; set; }
[JsonProperty("channel_id")]
public int ChannelId { get; set; }
[JsonProperty("max_id")]
public int MaxId { get; set; }
[JsonProperty("read_max_id")]
public object ReadMaxId { get; set; }
}
public class Messages
{
[JsonProperty("_")]
public string _ { get; set; }
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("peer_id")]
public PeerId PeerId { get; set; }
[JsonProperty("date")]
public string Date { get; set; }
[JsonProperty("message")]
public string Message { get; set; }
[JsonProperty("out")]
public bool Out { get; set; }
[JsonProperty("mentioned")]
public bool Mentioned { get; set; }
[JsonProperty("media_unread")]
public bool MediaUnread { get; set; }
[JsonProperty("silent")]
public bool Silent { get; set; }
[JsonProperty("post")]
public bool Post { get; set; }
[JsonProperty("from_scheduled")]
public bool FromScheduled { get; set; }
[JsonProperty("legacy")]
public bool Legacy { get; set; }
[JsonProperty("edit_hide")]
public bool EditHide { get; set; }
[JsonProperty("pinned")]
public bool Pinned { get; set; }
[JsonProperty("from_id")]
public object FromId { get; set; }
[JsonProperty("fwd_from")]
public object FwdFrom { get; set; }
[JsonProperty("via_bot_id")]
public object ViaBotId { get; set; }
[JsonProperty("reply_to")]
public object ReplyTo { get; set; }
[JsonProperty("media")]
public object Media { get; set; }
[JsonProperty("reply_markup")]
public object ReplyMarkup { get; set; }
[JsonProperty("entities")]
public IList<Entity> Entities { get; set; }
[JsonProperty("views")]
public int Views { get; set; }
[JsonProperty("forwards")]
public int Forwards { get; set; }
[JsonProperty("replies")]
public Replies Replies { get; set; }
[JsonProperty("edit_date")]
public object EditDate { get; set; }
[JsonProperty("post_author")]
public string PostAuthor { get; set; }
[JsonProperty("grouped_id")]
public object GroupedId { get; set; }
[JsonProperty("restriction_reason")]
public IList<object> RestrictionReason { get; set; }
}
}
Скачать исходный код парсера на Python вместе с небольшим пресетом настроек можно во вложении
Вложения
Последние темы в этом разделе:
- Загрузчик видео с Recurbate
- Загрузчик файлов с Google Drive
- Мониторинг сайтов в сети Tor
- Скрипт Получаем исходный код любого сайта
- Reveal Image Verification Assistant — анализ достоверности изображений
- wget - софт для клона сайта
- Бот режима Crash для PLGBET
- Простой софт для удаления/выключения Microsoft Defender на Windows 10/11
- Скрипт Приватный Ton Drainer
- Загрузчик фото и видео с bunkr - Как скачать любой контент с сайта bunkr