Всем привет, друзья
Я все эксперементирую с API контакта)
Скачиваю посты из группы для анализа данных. Например я получил словарь с такими постами:
Вот залил json на pastebin
https://pastebin.com/HnReC414
Я получаю и добавляю в новый словарь следующие данные:
posts = otvet_json["response"]['items'] # Сохраняем в переменную все посты
all_posts = [] # Подготовили пустой список для сохранения туда всех данных
filtered_data = [] # Подготовили пустой список для сохранения туда всех отфильтрованных данных
for posts in all_posts:
id = posts["id"]
date = time.ctime(posts["date"])
linuxe_date = posts["date"]
text = posts["text"]
likes = posts["likes"]["count"]
comments = posts["comments"]["count"]
reposts = posts["reposts"]["count"]
views = posts["views"]["count"]
marked_as_ads = posts["marked_as_ads"]
filtered_posts = {
"id": id,
"date" : date, # Создаем ключ date и записываем туда значение из переменной date
"linuxe_date" : linuxe_date, # Создаем ключ linuxe_date и записываем туда значение из переменной linuxe_date
"text" : text, # Создаем ключ text и записываем туда значение из переменной text
"likes" : likes, # Создаем ключ likes и записываем туда значение из переменной likes
"comments" : comments, # Создаем ключ comments и записываем туда значение из переменной comments
"reposts" : reposts, # Создаем ключ reposts и записываем туда значение из переменной reposts
"views" : views, # Создаем ключ views и записываем туда значение из переменной views
"marked_as_ads" : marked_as_ads, # Создаем ключ marked_as_ads и записываем туда значение из переменной marked_as_ads
}
filtered_data.append(filtered_posts)
Как вычленить все photo из всех постов макимального размера, т.е. "type": "x" и потом все это добавить в filtered_data ?
Полагаю что алгоритм должен быть примерно такой:
try:
attachments = posts["attachments"]
for att1 in attachments:
if att1["type"] == "photo":
for razmerphoto in att1:
if razmerphoto["photo"]["sizes"]["type"] == "x":
Дальше не знаю как правильно прописать.....
except:
attachments = "netu"
Также, пока для меня не понятно, как отсеять рекламные посты? Некоторые посты имеют атрибут "marked_as_ads": 1 Т.е. нужно как-то сделать алгоритм, чтобы если "marked_as_ads": 1, то весь этот пост сразу отсеивался.
Полагаю что алгоритм должен быть примерно такой:
for posts in all_posts:
if pppposts["marked_as_ads"] == 1:
del posts
Заранее большое спасибо, друзья.