python — Получить оригинальную ссылку в vk api
Задать вопрос
Вопрос задан
Изменён 7 лет 11 месяцев назад
Просмотрен 2k раз
Здравствуйте.
Решил для себя написать скрипт, который ищет посты с ключевыми словами в VK. Для этого я воспользовался следующим методом VK API. Хочется также уметь получать ссылку на оригинальный пост. Есть ли какие-то удобные средства, чтобы это сделать?
Сейчас написано, мягко говоря, костыльно:
resp = requests.get(url).json()['response'] for i in range(1, len(resp)): if (resp[i]['reposts']['count'] > 10): curId = resp[i]['owner_id'] club = "" if (curId >= 0): typeId = "user" else: typeId = "group" postId = resp[i]['id'] originalUrl = 'https://vk.com/'+resp[i][typeId]['screen_name']+'?w=wall'+str(curId)+'_'+str(postId) print originalUrl print resp[i]['text'].encode('cp866', errors='replace') print ''
Кроме того, если страница типа «public», то в «screen_name» все равно возвращается «clubXXX» и ссылка оказывается нерабочей.
Заранее спасибо.
- python
- vkontakte-api
Чтобы получить ссылку на оригинальный пост, достаточно знать id поста и id стены, на которую пост закинули.
Вот такая ссылка вполне работоспособна: http://vk.com/wall-76229642_54082
Соответственно, нужно просто слегка подкорректировать код
originalUrl = 'https://vk.com/wall'+str(curId)+'_'+str(postId)
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.