Как получить идентификаторы постов в ВКонтакте с помощью парсинга?

Возможно, кто-то может помочь мне с этой проблемой? Я пытаюсь спарсить идентификаторы постов из канала VK. Вот код, который я использовал:

```python
def get_wall_posts(VK_TOKEN: str) -> dict:
    url = 'https://api.vk.com/method/wall.get'
    params = {
        'access_token': VK_TOKEN,
        'owner_id': -1, 
        'v': '5.131',
        'count': 1 
    }

    response = requests.get(url, params=params)
    return response.json()


wall_posts = get_wall_posts(VK_TOKEN)
print(wall_posts)
```

Однако, я получаю следующую ошибку:

```
{'error': {'error_code': 3, 'error_msg': 'Unknown method passed', 'request_params': [{'key': 'owner_id', 'value': '-1'}, {'key': 'v', 'value': '5.131'}, {'key': 'count', 'value': '1'}, {'key': 'method', 'value': 'wall.get'}, {'key': 'oauth', 'value': '1'}]}}
```

Я пробовал изменить `owner_id` на `domain`, но это не работает. Я хотел узнать, есть ли какой-то другой способ получить идентификаторы постов из канала VK?
  • 13 сентября 2023 г. 8:17
Ответы на вопрос 1
Происходит ошибка, потому что вы передаёте неверное значение `owner_id`, равное -1. Вместо него вам нужно указать идентификатор сообщества или пользователя, из которого вы хотите получить посты.

Вот исправленный код с комментариями:

```python
import requests

def get_wall_posts(VK_TOKEN: str, owner_id: int) -> dict:
    url = 'https://api.vk.com/method/wall.get'
    params = {
        'access_token': VK_TOKEN,
        'owner_id': owner_id, # Идентификатор сообщества или пользователя
        'v': '5.131',
        'count': 1 
    }

    response = requests.get(url, params=params)
    return response.json()


VK_TOKEN = 'ваш_токен'
owner_id = -123456789 # Замените на нужный идентификатор

wall_posts = get_wall_posts(VK_TOKEN, owner_id)
print(wall_posts)
```

Замените `'ваш_токен'` на ваш настоящий токен VK API. Также замените `-123456789` на идентификатор нужного вам сообщества или пользователя.

Надеюсь, это поможет вам получить идентификаторы постов из VK.
Похожие вопросы