проблемы с сохранением в json результатов парсинга в вк
Подскажите, пожалуйста, почему результат парсинга по группам дублируется при сохранении данных в json файл? В базе данных содержаться идентификаторы групп, которые через цикл я пытаюсь прогнать через парсер Фрагмент кода парсера:
V = '9.95' # Версия VK API
session = vk.Session(access_token='###########################################')
api = vk.API(session, v=V)
#подключение к API
def get_members(group_id, fil=""):
return api.groups.getMembers(group_id=group_id, filter=fil)['items']
def get_all_members(group_id):
# Возврат подписчиков группы
members = api.groups.getMembers(group_id=group_id, fields='city')
count = members['count']
offset = 0
members = members['items']
while offset < count:
members.extend(api.groups.getMembers(group_id=group_id, fields='city', count=1000, offset=offset)['items'])
offset += 1000
if offset > 10000:
time.sleep(0.25)
return members
def pars():
#Создаём файл с названием колонок городов для последующего сохранения результата выполнения
file_name = 'city_path.txt'
with open(file_name, 'a', encoding='utf-8', newline='') as file:
writer = csv.writer(file,delimiter=",",lineterminator="\n")
writer.writerow(['id','city','value'])
#Подключаемся к бд
db = sqlite3.connect('id_group.db')
sql = db.cursor()
sql.execute("SELECT id FROM 'group'")
massive = sql.execute("""SELECT id FROM group""").fetchone()
massive_big = sql.execute("""SELECT id FROM group""").fetchall()
for i in range(len(massive)):
print(massive[i])
for i, ids in enumerate(massive_big):
group_id = massive_big[i][0]
#Передаём информацию из бд в скрипт для парсинга и сохраняем полученный результат в JSON
if len(sys.argv)>1:
group_id = sys.argv[1]
else:
members = get_all_members(group_id)
for member in members:
data = member
with open('dump.json', 'a', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False)