Почему, используя requests и VK API, получаю неполную информацию о странице
Пробую работать с модулем requests и VK API, чтобы быстро получать информацию о нужной странице (к примеру)
import requests as rq
token = "Его нельзя показывать"
version = 5.131
source = "https://api.vk.com/method/users.get"
person ="shvabar" #случайный человек
info = rq.get(source,
params = {
'access_token':token,
'v':version,
'user_ids': person,
'fields': {'relation','bdate', 'sex', 'can_write_private_message', 'friends'}
})
print(info)
jsoninfo = info.json()
print(jsoninfo)
relat = jsoninfo.get('response')[0].get("relation")
print(jsoninfo.get('response')[0].get("relation"))
print(jsoninfo.get('response')[0].get("bdate"))
print(jsoninfo.get('response')[0].get("sex"))
print(jsoninfo.get('response')[0].get("can_write_private_message"))
print(jsoninfo.get('response')[0].get("friends"))
Выводится в консоль следующее
<Response [200]>
{'response': [{'id': 20210511, 'relation': 1, 'first_name': 'Mikhail', 'last_name': 'Averyanov', 'can_access_closed': True, 'is_closed': False}]}
1
None
None
None
None
Несколько раз запуская, выводится нужна информация заместо None. Т.е. значение бывает иногда у relation, иногда у can_write_private_message, иногда у bdate
В чем проблема? Как пофиксить, чтобы за один запрос всё нормально выводилось
upd: ссылка вводится вот такая
#https://api.vk.com/method/users.get?
#access_token= нельзя
#&v=5.131
#&user_ids=shvabar
#&fields=relation
#&fields=friends
#&fields=bdate
#&fields=sex
#&fields=can_write_private_message
Ответы (1 шт):
Автор решения: Limaximy
→ Ссылка
нужно было использовать вместо
'fields': {'relation','bdate', 'sex', 'can_write_private_message', 'friends'}
вот это
'fields': 'relation, bdate, sex, can_write_private_message, friends'
потому что нам нужен запрос
fields=relation,friends,bdate,sex,can_write_private_message
а не
fields=relation&fields=friends&fields=bdate&fields=sex&fields=can_write_private_message