2015-04-24 1 views
0

Я пытаюсь выяснить, как тянуть сообщения из определенной учетной записи Tumblr с ruby. Моя конечная цель состояла бы в том, чтобы иметь хэш с номером post => text. Я ищу только текст и каждый номер сообщения.Вытягивание сообщений из tumblr с ruby ​​

Я попробовал следующее (для demo.tumblr.com):

require 'open-uri' 
require 'json' 

jtest = JSON.load(open("http://api.tumblr.com/v2/blog/demo.tumblr.com/posts/text?api_key=fuiKNFp9vQFvjLNvx4sUwti4Yb5yGutBN4Xh10LXZhhRKjWlV4&notes_info=true&filter=text")) 
puts jtest 

, который дает мне, я только собираюсь поставить фрагмент этого:

{"meta"=>{"status"=>200, "msg"=>"OK"}, "response"=>{"blog"=>{"title"=>"Demo", "name"=>"demo", "posts"=>7, "url"=>"http://demo.tumblr.com/", "updated"=>1269024321, "description"=>"Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.", "is_nsfw"=>false, "ask"=>false, "ask_page_title"=>"Ask me anything", "ask_anon"=>false, "share_likes"=>false}, "posts"=>[{"blog_name"=>"demo", "id"=>459009076, "post_url"=>"http://demo.tumblr.com/post/459009076/lorem-ipsum-dolor-sit-amet-consectetuer", "slug"=>"lorem-ipsum-dolor-sit-amet-consectetuer", "type"=>"text", "date"=>"2006-10-01 04:00:00 GMT", "timestamp"=>1159675200, "state"=>"published", "format"=>"html", "reblog_key"=>"uHt0TEhP", "tags"=>[], "short_url"=>"http://tmblr.co/Zg4ybyRM_mq", "highlighted"=>[], "note_count"=>5793, "title"=>"", "body"=>"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam nisi lorem, pulvinar id, commodo feugiat, vehicula et, mauris. Aliquam mattis porta urna. Maecenas dui neque, rhoncus sed, vehicula vitae, auctor at, nisi. Aenean id massa ut lacus molestie porta. Curabitur sit amet quam id libero suscipit venenatis.", "notes"=>[{"timestamp"=>"1429905090", "blog_name"=>"hdpreview2", "blog_url"=>"http://hdpreview2.tumblr.com/", "post_id"=>"117273527904", "type"=>"reblog"} 

это продолжается на некоторое время, но я просто не уверен, как это сделать. Кажется, Jtest на самом деле хэш, но только с двумя элементами, первый

{meta => {"status"=>200, "msg"=>"OK"}} 

и второе:

{response => the rest of that.... 

Я, вероятно, в течение моей голове, но я не могу обернуть мою голову вокруг как просто получать текстовые сообщения из блога tumblr через ruby.

ответ

1

Что вы действительно спрашиваете, как получить доступ к значениям в хеше. Я уверен, что здесь есть много прецедентов.

Но чтобы вы начали, вот несколько примеров:

jtest["meta"]["status"] #=> 200 
jtest["response"]["blog"]["title"] #=> "Demo" 

В любой момент вы можете inspect выход. Мне нравится использовать pp, чтобы получить более приятное форматирование.

+0

Спасибо! Я вижу, теперь я не понимал, что в хешах есть хеши! И очень рад узнать о pp! –

 Смежные вопросы

  • Нет связанных вопросов^_^