欢迎光临散文网 会员登陆 & 注册

一键显示up的粉丝数、视频数据——Mac系统下 R+终端+Keyboard Maestro整活小程序教程

2023-03-11 13:29 作者:DODO小狗克里  | 我要投稿

今天来整个活儿,在MAC系统下,我只要按下control+option+B即可在终端中显示出up主的粉丝数和视频各项数据,是不是很好玩呢?

最终效果,一键显示


第一步,需要写一段R语言的脚本红色的地方是需要修改的

我这里直接提供给大家:

suppressMessages(library("httr"))

suppressMessages(library("magrittr"))

suppressMessages(library("rvest"))

suppressMessages(library("xml2"))

suppressMessages(library("stringr"))

suppressMessages(library("dplyr"))

suppressMessages(library("openxlsx"))

suppressMessages(library("writexl"))

suppressMessages(library("knitr"))

# rm(list=ls())

up<-"DODO小狗克里"   #在这里输入up主的名称,vmid号以及相关视频的BV号哦!

vmid<-"631185362"            #up主的vmid号

BV_list<-c("BV1iM41147qo",   #爬取某个视频的数据

           "BV1e3411o7up",

           "BV1bd4y177aV",

           "BV1AG4y1M7c7",

           "BV18r4y1e7xQ",

           "BV1FY411a7r5",

           "BV1Zo4y1Q7NK",

           "BV1yf4y1C7Je",

           "BV1Ef4y1D7Co")

url <- paste0("https://api.bilibili.com/x/relation/stat?vmid=",vmid,"&jsonp=jsonp")

# 发送 GET 请求,获取页面内容

response <- GET(url)

# 解析页面内容

parsed_html <- read_html(response$content);parsed_html<-as.character(parsed_html)

follower <- str_extract(parsed_html, '\"follower\":\\d+');follower <- str_extract(follower,"\\d+")

bili_data_total<-total<-as.data.frame(matrix(nrow=0,ncol=5))

for (i in 1:length(BV_list)) {

  BVid<-BV_list[i]

  url<-paste0("https://www.bilibili.com/video/";,BV_list[i],"/?spm_id_from=333.999.0.0&vd_source=0e9474e50ba827d3921782ed599cfd79")

  page <- read_html(url)

 view_count<-page %>% html_nodes(".view") %>% html_text() %>%  trimws()

 danmu_count<-page %>% html_nodes(".dm") %>% html_text() %>% as.numeric();danmu_count<-danmu_count[1]

   video_title <- page %>% html_nodes(".video-title") %>% html_text() %>% trimws()

  pudate<- page %>%html_nodes(".pudate-text") %>% html_text() %>%  trimws()

   

  bili_data <- page %>% html_nodes(".info-text") %>% html_text() %>% as.numeric()

  bili_data<-as.data.frame(t(bili_data))

  bili_data<-cbind(BVid,video_title,bili_data,pudate,view_count,danmu_count,strftime(Sys.time(), format = "%Y-%m-%d %H:%M:%S"))

  bili_data_total<-rbind(bili_data_total,bili_data)

  

}

colnames(bili_data_total)<-c("BV_id","视频名","点赞数","投币数","收藏数","转发数","发表时间","播放量","弹幕数","获取时间")

show_data<-bili_data_total[,c("视频名","点赞数","投币数","收藏数","转发数","播放量","弹幕数")]

show_data$视频名<-substr(show_data$视频名,1,10)

cat("\n")

cat(paste("               ",strftime(Sys.time(), format = "%Y-%m-%d %H:%M")," ",up,"的b站粉丝数是:",follower,sep=""))

kable(show_data, align = "c") # 将所有列居中对齐

# paste0("粉丝数",follower)

wb <- createWorkbook()

sheet<-paste0("粉丝数",follower)

addWorksheet(wb, sheet)                    # 添加一个工作表

freezePane(wb, sheet, firstRow = TRUE)     #冻结首行

writeData(wb, sheet, bili_data_total,

          withFilter=T,headerStyle=createStyle(

            fontSize = 11, fontName = "Calibri",

            textDecoration = "bold", halign = "left"))

saveWorkbook(wb, paste0("/Users/chenchen/Desktop/bilibili/",up,"的b站数据/b站数据.xlsx"), overwrite = TRUE)

beepr::beep(2)

第二步:

输入这个脚本:Rscript右边的部分是上面这个R程序的具体路径

Rscript /Users/chenchen/Desktop/bilibili/b站爬取粉丝数.R

(这一步比较重要,不要出错,注意Rscript右边有一个空格,完成后先打开终端测试一下,可以再进行下一步)


第三步

这里我把第一步的程序和第三部需要的软件都放在这里了

链接: https://pan.baidu.com/s/1nPdGvGe9ZvVpKLbXvvDVFQ?pwd=8v3a 提取码: 8v3a 

--来自百度网盘超级会员v5的分享

安装Keyboard Maestro,然后按照图片进行设置所示:

Keyboard Maestro里进行上图一样的设置

需设置自定义的快捷键,第二步写的R程序路径名。

好啦,完成之后就可以按下快捷键开始你的表演了~


一键显示up的粉丝数、视频数据——Mac系统下 R+终端+Keyboard Maestro整活小程序教程的评论 (共 条)

分享到微博请遵守国家法律