Парсим данные в Telegram на Python. Читаем и анализируем сообщения из чатов.
from xmlrpc.client import DateTime
from telethon.sync import TelegramClient
from telethon.tl.functions.messages import GetDialogsRequest
from telethon.tl.types import InputPeerEmpty
from telethon.tl.functions.messages import GetHistoryRequest
from telethon.tl.types import PeerChannel
import csv
api_id = 'api id'
api_hash = "api_hash"
phone = "phone number"
client = TelegramClient(phone, api_id, api_hash)
client.start()
chats = []
last_date = None
chunk_size = 200
groups=[]
result = client(GetDialogsRequest(
offset_date=last_date,
offset_id=0,
offset_peer=InputPeerEmpty(),
limit=chunk_size,
hash = 0
))
chats.extend(result.chats)
for chat in chats:
try:
if chat.megagroup== True:
groups.append(chat)
except:
continue
print("Выберите группу для парсинга сообщений и членов группы:")
i=0
for g in groups:
print(str(i) + "- " + g.title)
i+=1
g_index = input("Введите нужную цифру: ")
target_group=groups[int(g_index)]
print("Узнаём пользователей...")
all_participants = []
all_participants = client.get_participants(target_group)
print("Сохраняем данные в файл...")
with open("members.csv", "w", encoding="UTF-8") as f:
writer = csv.writer(f,delimiter=",",lineterminator="\n")
writer.writerow(["username", "name","group"])
for user in all_participants:
if user.username:
username= user.username
else:
username= ""
if user.first_name:
first_name= user.first_name
else:
first_name= ""
if user.last_name:
last_name= user.last_name
else:
last_name= ""
name= (first_name + ' ' + last_name).strip()
writer.writerow([username,name,target_group.title])
print("Парсинг участников группы успешно выполнен.")
offset_id = 0
limit = 100
all_messages = []
total_messages = 0
total_count_limit = 0
while True:
history = client(GetHistoryRequest(
peer=target_group,
offset_id=offset_id,
offset_date=None,
add_offset=0,
limit=limit,
max_id=0,
min_id=0,
hash=0
))
if not history.messages:
break
messages = history.messages
for message in messages:
all_messages.append(message.message)
offset_id = messages[len(messages) - 1].id
if total_count_limit != 0 and total_messages >= total_count_limit:
break
print("Сохраняем данные в файл...")
with open("chats.csv", "w", encoding="UTF-8") as f:
writer = csv.writer(f, delimiter=",", lineterminator="\n")
for message in all_messages:
writer.writerow([message])
print('Парсинг сообщений группы успешно выполнен.')
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Подборка обучающих каналов для программистов.
🖥 Machine learning
ai_ml – крупнейши канал по ии, нейросетям и науке о данных.
datasc - дата сайнс обучение самой востребованной профессии.
@bigdatai - Big Data
@machinelearning_ru – гайды по машинному обучению
@machinelearning_interview – подготовка к собеседованию мл.
@datascienceiot – бесплатные книги ds
@ArtificialIntelligencedl – ИИ
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - вакансии ds, ml
@Machinelearning_Jobs - чат с вакансиями
🖥 Python
@pythonl - крупнейший канал для Python программистов.
@pro_python_code – учим python с ментором.
@python_job_interview – подготовка к Python собеседованию.
@python_testit - проверочные тесты на python
@pythonlbooks - современные книги Python
@python_djangojobs - работа для Python программистов
@python_django_work - чат обсуждения вакансий
#️⃣ c#
C# - канал для изучения C# на практике.
@csharp_cplus - C# чат
@csharp_1001_notes - инструменты C#
🖥 C++
@cpluspluc - C++ кодинг
🖥 SQL базы данных
@sqlhub - Повышение эффективности кода с грамотным использованием бд.
@chat_sql - чат изучения бд.
👣 Golang
@Golang_google - восхитительный язык от Google, мощный и перспективный.
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@golangtests - интересные тесты и задачи GO
@golangl - чат изучающих Go
@GolangJobsit - отборные вакансии и работа GO
@golang_jobsgo - чат для ищущих работу.
@golang_books - полезные книги Golang
@golang_speak - обсуждение языка Go
@golangnewss - новости go
🖥 Linux
linux - kali linux ос для хакинга
linux chat - чат linux для обучения и помощи.
@linux_read - бесплатные книги linux
🖥 Javascript / front
@react_tg - - 40,14% разработчиков сайтов использовали React в 2022 году - это самая популярная библиотека для создания сайтов.
@javascript -канал для JS и FrontEnd разработчиков. Лучшие практики и примеры кода. Туториалы и фишки JS
@Js Tests - каверзные тесты JS
@hashdev - погружение в web разработку.
@javascriptjobjs - отборные вакансии и работа FrontEnd.
@jsspeak - чат поиска FrontEnd работы.
🖥 Java
@javatg - выучить Java с senior разработчиком на практике
@javachats - чат для ответов на вопросы по Java
@java_library - библиотека книг Java
@android_its - Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
👷♂️ IT работа
https://yangx.top/addlist/_zyy_jQ_QUsyM2Vi -ит каналы по яп с вакансиями
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - Rust избавлен от болевых точек, которые есть во многих современных яп
@rust_chats - чат rust
📓 Книги
https://yangx.top/addlist/HwywK4fErd8wYzQy - актуальные книги по всем яп
⭐️ Нейронные сети
@vistehno - chatgpt ведет блог, решает любые задачи и отвечает на любые ваши вопросы.
@aigen - сети для генерации картинок. видео, музыки и многого другого.
@neural – погружение в нейросети.
📢 English for coders
@english_forprogrammers - Английский для программистов
🖥 PHP
@phpshka - PHP академия для программистов.
🖥 Devops
Devops - канал для DevOps специалистов.
🔥 Папки для программитов
https://yangx.top/addlist/_FjtIq8qMhU0NTYy - машинное обучение, нейросети, глубокое обучение
https://yangx.top/addlist/eEPya-HF6mkxMGIy - папка для Python разработчиков
https://yangx.top/addlist/MUtJEeJSxeY2YTFi - папка для Golang разработчиков
ai_ml – крупнейши канал по ии, нейросетям и науке о данных.
datasc - дата сайнс обучение самой востребованной профессии.
@bigdatai - Big Data
@machinelearning_ru – гайды по машинному обучению
@machinelearning_interview – подготовка к собеседованию мл.
@datascienceiot – бесплатные книги ds
@ArtificialIntelligencedl – ИИ
@machinee_learning – чат о машинном обучении
@datascienceml_jobs - вакансии ds, ml
@Machinelearning_Jobs - чат с вакансиями
@pythonl - крупнейший канал для Python программистов.
@pro_python_code – учим python с ментором.
@python_job_interview – подготовка к Python собеседованию.
@python_testit - проверочные тесты на python
@pythonlbooks - современные книги Python
@python_djangojobs - работа для Python программистов
@python_django_work - чат обсуждения вакансий
#️⃣ c#
C# - канал для изучения C# на практике.
@csharp_cplus - C# чат
@csharp_1001_notes - инструменты C#
@cpluspluc - C++ кодинг
@sqlhub - Повышение эффективности кода с грамотным использованием бд.
@chat_sql - чат изучения бд.
@Golang_google - восхитительный язык от Google, мощный и перспективный.
@golang_interview - вопросы и ответы с собеседований по Go. Для всех уровней разработчиков.
@golangtests - интересные тесты и задачи GO
@golangl - чат изучающих Go
@GolangJobsit - отборные вакансии и работа GO
@golang_jobsgo - чат для ищущих работу.
@golang_books - полезные книги Golang
@golang_speak - обсуждение языка Go
@golangnewss - новости go
linux - kali linux ос для хакинга
linux chat - чат linux для обучения и помощи.
@linux_read - бесплатные книги linux
@react_tg - - 40,14% разработчиков сайтов использовали React в 2022 году - это самая популярная библиотека для создания сайтов.
@javascript -канал для JS и FrontEnd разработчиков. Лучшие практики и примеры кода. Туториалы и фишки JS
@Js Tests - каверзные тесты JS
@hashdev - погружение в web разработку.
@javascriptjobjs - отборные вакансии и работа FrontEnd.
@jsspeak - чат поиска FrontEnd работы.
@javatg - выучить Java с senior разработчиком на практике
@javachats - чат для ответов на вопросы по Java
@java_library - библиотека книг Java
@android_its - Android разработка
@java_quizes - тесты Java
@Java_workit - работа Java
@progersit - шпаргалки ит
👷♂️ IT работа
https://yangx.top/addlist/_zyy_jQ_QUsyM2Vi -ит каналы по яп с вакансиями
🤡It memes
@memes_prog - ит-мемы
⚙️ Rust
@rust_code - Rust избавлен от болевых точек, которые есть во многих современных яп
@rust_chats - чат rust
📓 Книги
https://yangx.top/addlist/HwywK4fErd8wYzQy - актуальные книги по всем яп
@vistehno - chatgpt ведет блог, решает любые задачи и отвечает на любые ваши вопросы.
@aigen - сети для генерации картинок. видео, музыки и многого другого.
@neural – погружение в нейросети.
@english_forprogrammers - Английский для программистов
@phpshka - PHP академия для программистов.
Devops - канал для DevOps специалистов.
🔥 Папки для программитов
https://yangx.top/addlist/_FjtIq8qMhU0NTYy - машинное обучение, нейросети, глубокое обучение
https://yangx.top/addlist/eEPya-HF6mkxMGIy - папка для Python разработчиков
https://yangx.top/addlist/MUtJEeJSxeY2YTFi - папка для Golang разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
🦸♂Python DSA шпаргалка для супергероев
▪ List Methods
изображение 2.
▪ Dictionary Operations
изображение 3.
▪ Dictionary methods
изображение 4.
▪ Set Operations
изображение 5.
▪ String Methods
изображение 6.
@pythonl
▪ List Methods
изображение 2.
▪ Dictionary Operations
изображение 3.
▪ Dictionary methods
изображение 4.
▪ Set Operations
изображение 5.
▪ String Methods
изображение 6.
@pythonl
Top 6 Algorithms Every Software Engineer Should Know💲
Топ-6 алгоритмов, которые должен знать каждый инженер-программист.
1) Binary Search Algorithm.
2) Bubble Sort Algorithm.
3) Merge Sort Algorithm
4) Depth-first Search Algorithm
5) Dijkstra’s Algorithm
6) Randomized Algorithm
@pythonl
Топ-6 алгоритмов, которые должен знать каждый инженер-программист.
1) Binary Search Algorithm.
2) Bubble Sort Algorithm.
3) Merge Sort Algorithm
4) Depth-first Search Algorithm
5) Dijkstra’s Algorithm
6) Randomized Algorithm
@pythonl
🔎 EasyScan
EasyScan is a Python script that analyzes the security of a given website by inspecting its HTTP headers and DNS records.
EasyScan — это проект на Python, который анализирует безопасность веб-сайта, проверяя его заголовки HTTP и записи DNS.
Сканер позволяет формировать отчет о безопасности с рекомендациями по устранению потенциальных уязвимостей вашего кода.
GitHub
@pythonl
EasyScan is a Python script that analyzes the security of a given website by inspecting its HTTP headers and DNS records.
EasyScan — это проект на Python, который анализирует безопасность веб-сайта, проверяя его заголовки HTTP и записи DNS.
Сканер позволяет формировать отчет о безопасности с рекомендациями по устранению потенциальных уязвимостей вашего кода.
GitHub
@pythonl
📃 File Transfer using UDP Sockets in Python.
Передача файлов с помощью UDP-сокетов на Python.
@pythonl
Передача файлов с помощью UDP-сокетов на Python.
@pythonl
Python-скрипты для отправки сообщений WhatsApp, электронных письмем и SMS-сообщений.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Python Script to Discover Exposed Ports by IP Address
Python скрипт, использующий модуль nmap для сканирования определенного IP-адреса, работающих на нем служб, а также открытых портов, не заблокированных брандмауэром.
@pythol
Python скрипт, использующий модуль nmap для сканирования определенного IP-адреса, работающих на нем служб, а также открытых портов, не заблокированных брандмауэром.
@pythol
Автоматизириуем удаление ненужных файлов с помощью Python.
1. Удаление повторяющихся файлов
2. Удаление временных файлов
3. Систематизация и удаление файлов в папке Downloads
4. Удаление старых/неиспользуемых приложений
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM