Skip to content

Commit c306286

Browse files
committed
some fixes
1 parent d5c3be4 commit c306286

2 files changed

Lines changed: 20 additions & 16 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ BOT_TOKEN=<Токен Telegram бота>
2222
VK_TOKEN=<Toкен мини-приложения VK>
2323
LLM_TOKEN=<Токен LLM Yandex GPT>
2424
25+
VK_OWNER_ID=<ID Вашего профиля VK (будет использоваться для парсинга)>
26+
VK_GROUP_ID=<ID Группы VK, парсинг которой будет произведен>
27+
VK_GROUP_DOMAIN=<Domain VK группы>
28+
2529
DATABASE_HOST=<Хост базы данных (обычно localhost)>
2630
DATABASE_PORT=<Порт базы данных (обычно 5432)>
2731
DATABASE_NAME=<Название, которые вы дали базе данных>

src/telegram_assistant/parser/vk_parser.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from typing import Any
2+
13
import requests
24

35
from telegram_assistant.config import Configuration
@@ -6,7 +8,7 @@
68
class VKParser:
79
def parse_vk_group_info(self) -> dict:
810
"""
9-
Возвращает словарь с информацией о группе Вконтакте
11+
Возвращает словарь c информацией o группе Вконтакте
1012
"""
1113
config_vk = Configuration().vk
1214

@@ -31,27 +33,25 @@ def parse_vk_group_info(self) -> dict:
3133

3234
return group_info
3335

34-
def parse_vk_wall_posts(self, number: int = 50, is_dict: bool = True) -> dict[int, str] | str:
36+
def parse_vk_wall_posts(self, posts_count: int = 50, is_dict: bool = True) -> dict[int, str] | str:
3537
"""
36-
:param isdict: True - возвращает словарь (КЛЮЧ - номер поста ЗНАЧЕНИЕ - текст поста)
37-
False - возвращает строку с текстом всех постов
38-
:param number: Указывает сколько постов нужно получить (Значение по умолчанию: 50)
38+
:param number: Указывает сколько постов нужно получить (Значение по умолчанию: 50);
39+
:param is_dict: True - возвращает словарь (КЛЮЧ - номер поста ЗНАЧЕНИЕ - текст поста),
40+
False - возвращает строку c текстом всех постов.
3941
"""
4042
config_vk = Configuration().vk
4143

42-
count: int = number # Количество постов
43-
posts: list = [] # Список всех запарсенных постов
44-
posts_text_and_number: dict = {} # Словарь с №Списка и Текстом
45-
text_list: list = [] # Список всего текса всех постов
46-
text: str # Тескт всех постов
44+
posts: list[dict[str, Any]] = []
45+
posts_dict: dict[int, str] = {} # Ключ - номер поста, значение - текст поста
46+
all_posts_text: str # Тескт всех постов
4747

4848
result_post = requests.get(
4949
"https://api.vk.com/method/wall.get",
5050
params={
5151
"owner_id": config_vk.owner_id,
5252
"access_token": config_vk.token,
5353
"v": "5.199",
54-
"count": count,
54+
"count": posts_count,
5555
"domain": config_vk.group_domain,
5656
},
5757
)
@@ -63,11 +63,11 @@ def parse_vk_wall_posts(self, number: int = 50, is_dict: bool = True) -> dict[in
6363
posts.extend(post)
6464

6565
for get_post in posts:
66-
posts_text_and_number[posts.index(get_post)] = get_post["text"]
67-
text_list.append(get_post["text"])
66+
posts_dict[posts.index(get_post)] = get_post["text"].replace(" \n", "").replace("\n", "")
6867

69-
text = " ".join(text_list)
68+
all_posts_text = " ".join(list(posts_dict.values()))
7069

7170
if is_dict:
72-
return posts_text_and_number
73-
return text
71+
return posts_dict
72+
73+
return all_posts_text

0 commit comments

Comments
 (0)