парсинг vk api (стена группы)

Рейтинг: 0Ответов: 0Опубликовано: 30.01.2023
import csv
import requests


def take_posts():
    api_key = 'token'
    version = '5.103'
    group_domain = 'ссылка'
    count = 100
    offset = 0
    all_posts = []

    while offset < 200:
        response = requests.get('https://api.vk.com/method/wall.get',
                                params={
                                    'access_token': api_key,
                                    'v': version,
                                    'domain': group_domain,
                                    'count': count,
                                    'offset': offset
                                })

        data = response.json()['response']['items']
        offset += 100
        all_posts.extend(data)
    return all_posts


`введите сюда код`posts = take_posts()


def check_type(post):
    if post['attachments']:
        for attachment in post['attachments']:
            if attachment['type'] == 'video':
                return 'видео'
            if attachment['type'] == 'link':
                return 'ссылка'
            if attachment['type'] == 'photo':
                return 'фотография'
    else:
        return 'Вложения отсутствуют'


def write_data(posts):
    with open('vk_data_pars.csv', 'w') as file:
        pen = csv.writer(file)
        pen.writerow(('url', 'type', 'body', 'likes'))
        test = []
        for post in posts:
            url_sec = str(post['from_id']) + '_' + str(post['id'])
            url = f'https://vk.com/over_view?w=wall{url_sec}'
            post_type = check_type(post)
            test.extend((url, post_type))
    return test


print(write_data(posts))
print(1)

Пишу парсер групп в вк Вставляю ссылку на одну группу: работает как надо Если меняю на любую другую, то в функции check_type не находит post['attachments'] Кто знает в чем проблема?

Ответы

Ответов пока нет.