2015-06-28 5 views
0

Я пытаюсь использовать PRAW для получения новых сообщений от субредадов в Reddit. Следующий фрагмент кода показывает, как я получаю новые элементы для определенного субредда.получить URL-адрес любой публикации для субредатов

Есть ли способ получить URL-адрес конкретного представления?

submissions = r.get_subreddit('todayilearned') 
submission = submissions.get_new(limit=1) 
sub = [str(x) for x in submission] 
print sub 

ответ

2

Praw позволяет это сделать:

Чтобы получить поданную ссылку, вы можете использовать submission.url

[submission] = submissions.get_new(limit=1) 
print submission.url 

Или, если вы ищете URL для фактической должности в Reddit, то вы можете использовать permalink

[submission] = submissions.get_new(limit=1) 
print submission.permalink 
+0

Интересный ... 'url' не является документированным атрибутом' Submission' и быстро просматривает код, я не вижу, где именно установлен атрибут. Но если он работает, он работает ... – jme

+0

Если вы печатаете vars для 'submission', вы можете видеть, что доступно. [Эта страница из документов] (https://praw.readthedocs.org/en/v2.0.15/pages/writing_a_bot.html#finding-what-we-need) дает хороший пример всех доступных варов для 'отправки' , – serk

2

В documentation перечислен short_link свойство, которое возвращает укороченную версию URL для представления. Не похоже, что полный url аналогичным образом предоставлен, хотя кажется, что он может быть восстановлен из имени subreddit и идентификатора представления, который хранится в submission.id.

В общем, используйте:

[submission] = submissions.get_new(limit=1) 
submission.short_link 

, чтобы получить ссылку на представление.

+0

жалуется на нет такого атрибута, когда я пытаюсь submission.short_link – lordlabakdas

+0

теперь я вижу, что ваш 'submission' на самом деле список' Submission' объекты. Выберите представление из списка и повторите попытку. – jme

+0

получил. Спасибо! – lordlabakdas