парсинг vk api (стена группы)
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'] Кто знает в чем проблема?
Источник: Stack Overflow на русском