You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Ruby API获取Tumblr热门页面的帖子URL及详情?

用Ruby获取Tumblr热门帖子的URL和详细信息

嘿,我来帮你搞定用Ruby获取Tumblr热门页面帖子的事儿!下面给你两种可行的方法,你可以根据需求选:

方法一:用Tumblr官方API(推荐)

官方API是最稳定合规的方式,毕竟是Tumblr自己提供的接口,不会轻易失效。

步骤1:准备开发者账号和密钥

首先得去Tumblr开发者平台注册账号,创建一个应用,拿到你的consumer_key、consumer_secret这些密钥——这是调用API的通行证哈。

步骤2:用Ruby的tumblr_client gem

这个gem专门封装了Tumblr API的调用,用起来超方便。先安装它:

gem install tumblr_client

步骤3:写代码获取热门内容

下面是个简单的示例代码,能拿到热门帖子的URL和基本信息:

require 'tumblr_client'

# 配置客户端,替换成你的密钥
client = Tumblr::Client.new do |config|
  config.consumer_key = '你的consumer_key'
  config.consumer_secret = '你的consumer_secret'
end

# 获取热门帖子数据
trending_posts = client.explore('trending', limit: 20)

# 提取并打印信息
trending_posts['posts'].each do |post|
  puts "帖子URL: #{post['post_url']}"
  puts "标题/内容摘要: #{post['title'] || post['summary']}"
  puts "发布者: #{post['blog_name']}"
  puts "-------------------------"
end

API返回的字段很丰富,除了上面的,你还能拿到点赞数、标签、发布时间这些,具体可以看Tumblr的官方API文档。

方法二:网页抓取(谨慎使用)

如果官方API满足不了你的需求,比如需要页面上的一些额外元素,也可以试试网页抓取,但要注意:

  • 先看Tumblr的robots.txt,确认允许抓取热门页面
  • 遵守Tumblr的服务条款,别频繁请求给服务器添负担

步骤1:安装所需gem

我们用httparty发请求,nokogiri解析HTML:

gem install httparty nokogiri

步骤2:写抓取代码

示例代码如下(注意:Tumblr的页面结构可能会变,代码可能需要定期调整):

require 'httparty'
require 'nokogiri'

# 发送请求获取热门页面
url = 'https://www.tumblr.com/explore/trending'
response = HTTParty.get(url, headers: { 'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' })

# 解析HTML
doc = Nokogiri::HTML(response.body)

# 提取帖子信息(这里的选择器是基于当前页面结构的,可能会变)
doc.css('div.post-card').each do |card|
  post_url = card.at_css('a.post-card__content-link')['href']
  # 处理相对URL,补全域名
  post_url = "https://www.tumblr.com#{post_url}" unless post_url.start_with?('http')
  
  post_title = card.at_css('h3.post-card__title')&.text&.strip || '无标题'
  post_summary = card.at_css('p.post-card__content')&.text&.strip || '无摘要'
  
  puts "帖子URL: #{post_url}"
  puts "标题: #{post_title}"
  puts "摘要: #{post_summary}"
  puts "-------------------------"
end

要是发现抓取不到内容了,大概率是Tumblr改了页面结构,这时候就得用浏览器的开发者工具重新找元素选择器啦。

内容的提问来源于stack exchange,提问作者john zhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:55:03