使用rtweet获取tweet的图片描述中的文本

llew8vvj  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(94)

有没有一种方法可以让文字作为图片描述的推文?我正在使用的软件包,它允许一个人获得关于一个推文的几条信息(文本,链接,标签等),但我不能得到这个信息。
{rtweet}允许使用rtweet::post_tweet发布tweet,并通过参数media_alt_text添加图像描述,但当我使用rtweet::get_timeline函数下载tweet时,我找不到此信息。

瑞普瑞

library(rtweet)

# parsing the tweet data
last_tweet_parsed <- rtweet::get_timeline(user = 'esquinadobrasil', 
                                          n = 1, 
                                          parse = T)

head(last_tweet_parsed)

# not parsing the tweet data
last_tweet_unparsed <- rtweet::get_timeline(user = 'esquinadobrasil', 
                                   n = 1, 
                                   parse = F)

temp_df <- as.data.frame(last_tweet_unparsed)
head(temp_df)
yyyllmsg

yyyllmsg1#

使用v2API更加灵活,并且与文档同步。
演示推文。从esquinadobrasil的推文之一,我将展示如何获得图像alt文本。

https://twitter.com/esquinadobrasil/status/1615009611186069504

我将获得red box文本(alt_text图像)

sort 893

演示

require(httr)
require(jsonlite)
require(dplyr)

bearer_token <- "***** your bearer_token *****"
headers <- c(`Authorization` = sprintf('Bearer %s', bearer_token))

params <- list(`expansions` = 'attachments.media_keys',
               `media.fields` = 'public_metrics,url,alt_text')

tweet_id <- "1615009611186069504"
url_handle <-
  sprintf('https://api.twitter.com/2/tweets/%s', tweet_id)

response <-
  httr::GET(url = url_handle,
            httr::add_headers(.headers = headers),
            query = params)
obj <- httr::content(response, as = "text")
print(obj)

运行和结果

$ rscript get-image.R

[1] "{\"data\":{\"attachments\":{\"media_keys\":[\"3_1615009514297729024\"]},\"text\":\"Municipio: Santo Antônio Da
Platina - PR\\nSetor censitário: 412410305000028\\nPopulação: 718\\nÁrea (Km2): 1.31\\nDensidade (hab/Km2): 548.06\\
nZona: urbana\\n\\uD83D\\uDDFA https://xxx/KagyCLHLrM https://xxx/z1YDyTJArx\",\"id\":\"1615009611186069504\",\"ed
it_history_tweet_ids\":[\"1615009611186069504\"]},\"includes\":{\"media\":[{\"media_key\":\"3_1615009514297729024\",
\"url\":\"https://pbs.twimg.com/media/FmmqmLiXoAAdEmw.jpg\",\"alt_text\":\"sort 893\",\"type\":\"photo\"}]}}"

主题

V2 Get Tweet(按ID)

GET /2/tweets/:id

其中一个查询参数media.fields可以从文档中获取alt_text

我用Postman测试了相同的API。

https://api.twitter.com/2/tweets/1615009611186069504/?expansions=attachments.media_keys&media.fields=url,alt_text

我可以得到相同的结果

相关问题