加载rvest以及stringr包
library(rvest)
library(stringr)
学徒
2025年03月22日
从豆瓣网抓取凡人修仙传的简介和每一季的集数。先找到第一到第六以及特别篇的豆瓣网址。
# 第一季《凡人修仙传:风起天南》
douban_url <- "https://movie.douban.com/subject/"
url_s1 = "34925294/" # 第一季《凡人修仙传:风起天南》
url_s1_2 = "35259437/" # 特别篇《燕家堡之战》
url_s2 = "35640039/" # 第二季《凡人修仙传:魔道争锋》
url_s3 = "35882624/" # 第三季《凡人修仙传:再别天南》
url_s4 = "36017435/" # 第四季《凡人修仙传:初入星海》
url_s5 = "36139980/" # 第五季《凡人修仙传:星海飞驰》
url_s6 = "36923479/" # 第六季《凡人修仙传:外海风云》
url_all <- c(url_s1, url_s1_2, url_s2, url_s3, url_s4, url_s5, url_s6)
read_html_fanren <- function(douban_url = "https://movie.douban.com/subject/",
url) {
html <- read_html(paste0(douban_url, url))
return(html)
}
## 简介
get_info <- function(html) {
html_info <- html_elements(html, css = "div.article > div.related-info")
info <- html_info |>
html_text2() |>
str_replace_all("\n", "") |>
str_replace_all(" ", "")
return(info)
}
## 集数
get_ep <- function(html) {
html_ep <- html_elements(html, css = "div.article > div.episode_list")
remove_na <- \(x) {x[x != ""]}
ep <- html_ep |>
html_text2() |>
str_split("集", simplify = FALSE) |>
unlist() |>
remove_na() |>
as.numeric()
return(ep)
}
all_ep <- list(NA)
length(all_ep) <- length(url_all)
all_info <- rep(NA, length(url_all))
for (i in seq(url_all)) {
html <- read_html_fanren(url = url_all[i])
all_ep[[i]] = get_ep(html)
all_info[i] = get_info(html)
}
cumulative_ep <- all_ep
for (i in 1:length(all_ep)) {
if (i == 1) {
cumulative_ep[[i]] = as.numeric(all_ep[[i]])
}else{
cumulative_ep[[i]] = as.numeric(all_ep[[i]]) + max(as.numeric(cumulative_ep[[i-1]]))
}
}
cumulative_ep_col <- sapply(cumulative_ep, \(x) paste0(min(x), "-", max(x)))
## 每一季的起始和结束集数
season_start_end_ep <- data.frame(
season = seq_along(cumulative_ep),
ep_start = sapply(cumulative_ep, min),
ep_end = sapply(cumulative_ep, max)
)
library(tidyverse)
fanren <- tbl <- tribble(
~系列, ~首播,
"第一季《凡人修仙传:风起天南》", "2020-07-25",
"特别篇《凡人修仙传: 燕家堡之战》", "2021-01-31",
"第二季《凡人修仙传:魔道争锋》", "2021-11-14",
"第三季《凡人修仙传:再别天南》", "2022-04-24",
"第四季《凡人修仙传:初入星海》", "2022-07-31",
"第五季《凡人修仙传:星海飞驰》", "2023-07-30",
"第六季《凡人修仙传:外海风云》", "2025-01-18"
)
fanren$`剧集` <- cumulative_ep_col
kableExtra::kable(fanren)
系列 | 首播 | 剧集 |
---|---|---|
第一季《凡人修仙传:风起天南》 | 2020-07-25 | 1-17 |
特别篇《凡人修仙传: 燕家堡之战》 | 2021-01-31 | 18-21 |
第二季《凡人修仙传:魔道争锋》 | 2021-11-14 | 22-46 |
第三季《凡人修仙传:再别天南》 | 2022-04-24 | 47-60 |
第四季《凡人修仙传:初入星海》 | 2022-07-31 | 61-72 |
第五季《凡人修仙传:星海飞驰》 | 2023-07-30 | 73-126 |
第六季《凡人修仙传:外海风云》 | 2025-01-18 | 127-154 |
library(tidyverse)
## 白马侯子的解析视频
baima_html <- read_html("https://www.bilibili.com/video/BV1jPX4Y6Euz")
baima_titles <- html_elements(baima_html, css = "div.simple-base-item > div.title > div.title-txt") |>
html_text2()
ep_num <- as.numeric(str_replace(str_extract(baima_titles, "\\d+集"), "集", ""))
ep_num <- ifelse(ep_num > 200, NA, ep_num)
ep_num_title <- ifelse(is.na(ep_num), "综合点评", paste0("第", ep_num, "集简介"))
baima_ep_info <- baima_titles |>
str_replace_all("解析|解读|逐帧", "") |>
str_replace_all("《", "") |>
str_replace_all("》", "") |>
str_replace_all("【", "") |>
str_replace_all("】", "") |>
str_replace_all("凡人修仙传", "") |>
str_replace_all("第", "") |>
str_replace_all("\\d+集", "") |>
str_replace_all("\\d+-", "") |>
str_replace_all("\\d+/", "") |>
str_replace_all("\\d+$", "") |>
str_replace_all("()", "") |>
str_replace_all("\\+", "") |>
str_replace_all("逻辑梳理", "") |>
str_replace_all(" ", "")
lwt_html1 <- read_html("https://www.bilibili.com/video/BV1wS4y1X7xb")
lwt_html2 <- read_html("https://www.bilibili.com/video/BV1xeXHYyERT")
lwt_titles <- sapply(list(lwt_html1, lwt_html2), \(x)
html_elements(x, css = "div.simple-base-item > div.title > div.title-txt") |>
html_text2(), simplify = TRUE)
lwt_titles <- unlist(lwt_titles)
## 抓取剧集
lwt_ep_num <- as.numeric(str_replace(str_extract(lwt_titles, "\\d+集|\\d+逐"), "集|逐", ""))
lwt_ep_num_title <- ifelse(is.na(ep_num), "综合点评", paste0("第", ep_num, "集简介"))
## 利维坦视频简介清理
lwt_ep_info <- lwt_titles |>
str_replace_all("解析|解读|逐帧", "") |>
str_replace_all("《", "") |>
str_replace_all("》", "") |>
str_replace_all("【", "") |>
str_replace_all("】", "") |>
str_replace_all("凡人修仙传", "") |>
str_replace_all("第", "") |>
str_replace_all("\\d+集", "") |>
str_replace_all("\\d+-", "") |>
str_replace_all("\\d+/", "") |>
str_replace_all("\\d+$", "") |>
str_replace_all("()", "") |>
str_replace_all("\\+", "") |>
str_replace_all("逻辑梳理", "") |>
str_replace_all(" ", "")
get_season <- function(x) {
ifelse(is.na(x), x,
season_start_end_ep$season[(x >= season_start_end_ep$ep_start) & (x <= season_start_end_ep$ep_end)])
}
## 将白马侯子的视频简介按季整理成数据框
season_info_all <- data.frame(
lwt_ep_num,
lwt_ep_info = lwt_ep_info ## 利维坦
) |>
full_join(
data.frame(
ep_num,
ep_info = baima_ep_info), # 白马侯子
by = c("lwt_ep_num" = "ep_num")
) |>
mutate(ep_info_all = paste(lwt_ep_info, ep_info)) |>
mutate(ep_info_all = ifelse(is.na(lwt_ep_num), "综合点评", paste0("第**", lwt_ep_num, "**集简介:", ep_info_all)) ) |>
rowwise() |>
mutate(
season_num = get_season(lwt_ep_num)
) |>
ungroup() |>
mutate(season_num = factor(season_num, levels = 1:length(url_all))) |>
complete(season_num) |> #填充空白的季
filter(!is.na(season_num)) |>
group_by( season_num) |>
summarise(ep_info_all = paste0("- ", ep_info_all, collapse = "\n\n")) |>
mutate(ep_info_all = ifelse(ep_info_all == "- NA", "", ep_info_all) ) |>
mutate(ep_info_all = str_replace_all(ep_info_all, "NA", "") )
每集简介是抓取利维坦和白马侯子的视频标题整理而成。
首播:2020-07-25
剧集:1-17
凡人修仙传的剧情简介······ 平凡少年韩立出生贫困,为了让家人过上更好的生活,自愿前去七玄门参加入门考核,最终被墨大夫收入门下。 墨大夫一开始对韩立悉心培养、传授医术,让韩立对他非常感激,但随着一同入门的弟子张铁失踪,韩立才发现了墨大夫的真面目。 墨大夫试图夺舍韩立,最终却被韩立反杀。通过墨大夫的遗书韩立得知了一个全新世界:修仙界的存在。 在帮助七玄门抵御外敌之后,韩立离开了七玄门,前去墨大夫的家中寻找暖阳宝玉解毒,并帮助墨家人打败了敌人。 通过墨大夫之女墨彩环的口中得知太南小会地址,韩立为追寻修仙人的足迹决定前往太南小会,拜别家人后……
首播:2021-01-31
剧集:18-21
凡人修仙传:燕家堡之战的剧情简介······ 平凡少年韩立出生贫困,为了让家人过上更好的生活,自愿前去七玄门参加入门考核,最终被墨大夫收入门下。墨大夫一开始对韩立悉心培养、传授医术,让韩立对他非常感激,但随着一同入门的弟子张铁失踪,韩立才发现了墨大夫的真面目。墨大夫试图夺舍韩立,最终却被韩立反杀。通过墨大夫的遗书韩立得知了一个全新世界:修仙界的存在。在帮助七玄门抵御外敌之后,韩立离开了七玄门,前去墨大夫的家中寻找暖阳宝玉解毒,并帮助墨家人打败了敌人。通过墨大夫之女墨彩环的口中得知太南小会地址,韩立为追寻修仙人的足迹决定前往太南小会,拜别家人后,韩立来到太南谷,结识了一众修仙人士,正式展开了自己的修仙之旅。
首播:2021-11-14
剧集:22-46
凡人修仙传:魔道争锋的剧情简介······ 国民级IP《凡人修仙传》动画年番来了!看机智的凡人小子韩立如何稳健发展、步步为营,战魔道、夺至宝、驰骋星海、快意恩仇,成为纵横三界的强者。他日仙界重相逢,一声道友尽沧桑,尽在《凡人》动画年番。
第25集简介:战斗逻辑堪称完美!这才是顶级斗法!
第26集简介:斗法细节堪称完美!这才是顶级国创! 7000字的斗法逻辑还原最真实最残酷的修仙世界
第26集简介:斗法细节堪称完美!这才是顶级国创! 细致入微分析陈巧倩的内心世界这演技简直超越真人文戏
第27集简介:水剧情?不!细节铺垫多到爆炸!这才是优秀国创! 有梗更有细节!忘语或为最强的隐藏大佬
第28集简介:争议巨大?这集真的水吗? 全新角度解构剧情!绝对让你念头通达!!
第29集简介:没有斗法一样好看!引人入胜的一流文戏! 论修仙界微妙的世故人情!看韩立师徒间的极限拉扯!
第30集简介:NB!顶级黑话这才是一流文戏! 显微镜级别!绝对让你念头通达!!
第31集简介:NB!顶级打戏即将来临! 节奏最完美的一集!!
第32集简介:播放破4亿!如同真人剧般的流畅度,NB! 究竟是“水”还是短?绝对让你念头通达的!
第33集简介:大道无情,仙凡殊途! 从墨彩环易容看仙凡差别!她是凡人,最体面的凡人!这改编简直神了!!
第34集简介:句句埋坑!低阶修士的悲哀之路! 为何真实?蒙山五友便可说明一切!动画原著还原真实的蒙山五友
第35集简介:顶级的斗法细节!一流的故事节奏! 超燃的斗法归来绝对念头通达的视角
第36集简介:斗法逻辑堪称完美!这才是顶尖打戏! 卧槽!这才是真正的神仙打架!!
第37集简介:播放破5亿!张弛有度的优秀文戏! 播放破5亿的国产动画究竟能细到什么程度!!
第38集简介:播放破5亿!原创与原作融合并行! 看心机boy韩立是如何把人忽悠瘸的!韩立转变韩老魔!!
第39集简介:播放破5亿!仙凡殊途的修道之路! 墨彩环退场陈巧倩上线七集连打即将开始!
第40集简介:追番破500W!韩立的孤独修道之路!
第41集简介:顶级博弈!优秀的战斗逻辑与斗法细节! 的斗法逻辑斗心逻辑绝对颠覆你对动画的认知!
第42集简介:战斗细节堪称完美!这才是顶级斗法! 直接燃爆!最炫酷的斗法场面诞生!!
第43集简介:播放破6亿!大战将起!三师兄真汉子! 决战前的危机又是细节爆炸的一集!
第44集简介:大战将起!三师兄的除魔修道之路! 真君子陨落!mei国胥皇真实嘴脸显露!-白马带你看懂剧情逻辑
第44集简介:大战将起!三师兄的除魔修道之路! 韩立成为了“韩老魔”?京城篇完结后总评为何会出问题详细分析
第45集简介:NB!特效炸裂的真·颠倒五行阵! 白马带你看懂韩立的千层套路
第46集简介:文戏逻辑流畅自然!再别天南篇开启!
首播:2022-04-24
剧集:47-60
凡人修仙传:再别天南的剧情简介······ 看机智的凡人小子韩立如何稳健发展、步步为营,战魔道、夺至宝、驰骋星海、快意恩仇,成为纵横三界的强者。他日仙界重相逢,一声道友尽沧桑。
第47集简介:影帝的诞生!句句埋坑的顶级黑话! 看懂韩立与张铁的顶级博弈!张铁的城府超乎想象
第48集简介:播放破七亿!压迫性极强的战斗与一流文戏! 凡人的斗法为什么精彩?逻辑清晰!
第49集简介:大战将起!改编与原作并行的优秀文戏! 真正顶级的挖坑与填坑能力!七派叛变的宗门身份大揭秘!
第50集简介:大道孤寂!这才是一流文戏! 目之所及皆为弃子!李化元或将就此陨落!
第51集简介:播放破七亿!文戏与大场面齐聚! 最让人意难平的陈师姐!结合原著深入分析陈巧倩的改编优劣
第52集简介:投币破千万!句句埋坑的千层套路! 令狐老祖真的不在乎黄枫谷存亡吗?带你看懂令狐的千层套路
第53集简介:播放破八亿!原作与改编并行! 人命贱如蝼蚁!韩立究竟是怎样被卖的!令狐老祖的弃子计划大揭秘
第54集简介:播放破八亿!结丹修士的极限斗法! 神仙大战?与我无缘!溜了溜了
第55集简介:一日为师,终生为父!李化元的通达大道!
第56集简介:我们回家!李化元与红拂的归途之路!
第57集简介:没有修为一切不过是虚妄罢了! 关于的争议问题评点建议
第58集简介:李化元战死!南宫婉登场!细节建议 韩立换个活法李化元压根不想活评点
第59集简介:韩立套路黑又深!南宫婉登场! 韩立的套路辛如音的钟情南宫婉的蓄势待吸!
第60集简介:董萱儿南宫婉韩立=修罗场!
首播:2022-07-31
剧集:61-72
凡人修仙传:初入星海的剧情简介······ 看机智的凡人小子韩立如何稳健发展、步步为营,战魔道、夺至宝、驰骋星海、快意恩仇,成为纵横三界的强者。他日仙界重相逢,一声道友尽沧桑。
第61集简介:乱星海新片头!韩老魔成功突破! 韩立反向突破练气瓶颈南宫婉的戏份远没结束OPED
第62集简介:韩立南宫婉=影帝的诞生! 韩立跟“小姨子”洞内吃粥王蝉洞外啃手动画这次的糖甜吗
第63集简介:韩立正式传送乱星海!新地图开启!
第64集简介:到达魁星岛!全新篇章开启! 错综复杂的乱星海形势韩立即将遭劫难
第65集简介:影帝韩立开启修炼模式! 久违的凡人味道终于回来了!动画
第66集简介:乱星海妹子元瑶与妍丽登场! 心病难治绝望无医!墨彩环离世元瑶惊艳登场
第67集简介:神秘人物风希与妹子汪凝登场!
第68集简介:大战将起!韩立开启影帝模式!
第69集简介:战斗逻辑堪称一绝!镇妖台的极限斗法! 你可以永远相信凡人的斗法!
第70集简介:大战将起!阴谋即将浮出水面!
第71集简介:魁星岛大乱!结丹斗法即将来临! 雷鹏送翅紫灵源起!白马讲凡人
第72集简介:待你归来!首季年番的最终之战! 年番完结!终极一战的斗法
首播:2023-07-30
剧集:73-126
凡人修仙传:星海飞驰篇的剧情简介······ 看机智的凡人小子韩立如何稳健发展、步步为营,战魔道、夺至宝、驰骋星海、快意恩仇,成为纵横三界的强者。他日仙界重相逢,一声道友尽沧桑。
第73集简介:凡人终于归来!结丹妖兽的极限斗法 韩立闭关归来!!细节白马
第74集简介:细节爆炸!震撼的乱星海一巨城
第75集简介:震撼!压迫感拉满的元婴示威! 国漫最稳男主诞生!细节
第76集简介:文戏优秀!星海飞驰序章完美收官!
第77集简介:口碑炸裂的国创巨作归来! 王者归来!韩立结丹年番继续动画
第78集简介:播放破17亿!原作与改编并行 堪称艺术的语言博弈文戏巅峰!动画
第79集简介:大战一触即发!阴谋诡计的极限对撞! 竟然还能这么改?全面揭秘紫灵的复仇计划!
第80集简介:混战拉满!蝎岛斗法究竟埋藏了多少细节?
第81集简介:播放18亿!这就是元婴修士的压迫感?
第82集简介:绝了!极致博弈的炸裂斗法! 神仙打架!斗法细节与逻辑
第83集简介:播放破18亿!乱星海纷争将起!
第84集简介:韩立入凡尘!句句埋坑的黑话博弈!
第86集简介:文戏一流!人生如棋,落子无悔!
第87集简介:B站最强修仙番!29万人打出9.7分! 天南一剑修有剑了七十二炳!青竹蜂云剑成!
第88集简介:玄骨副本开启!堪称极致的察言观色!
第89集简介:全是影帝?暗藏玄机的黑话博弈! 在玄骨头上征服小师妹剧情
第90集简介:播放破20亿!战斗逻辑堪称一流! 凡人的斗法究竟有多精彩?一个视频带让你看明白!
第91集简介:播放破20亿!这就是残酷的修仙界! 玄骨“动手”石碟仙子没被毁容结合小说看
第92集简介:炸裂!战斗阴谋诡计拉满! 百岁如流富贵冷灰是修仙更是修险!剧情
第93集简介:压迫感拉满!勾心斗角的极限博弈! 逼格拉满的玄骨究竟为何恐怖?细节原著对比
第94集简介:炸裂的终极一战!虚天殿正式开启! 玄骨VS韩立初次交锋谁输谁赢?细节
第95集简介:播放破21亿!虚天殿震撼拉满! 0斗法却是最精彩的一集!结合小说科普动画
第96集简介:播放破21亿!这就是B站最强修仙动画! 金魁要灭杀的人是谁?猴中钟馗啼魂兽震撼登场!
第97集简介:炸裂!特效拉满的终极BOSS战!
第98集简介:打戏炸裂!战斗逻辑堪称一流! 一剑灭杀三头鬼王!灭鬼之战细节
第99集简介:震撼场景!博弈拉满! 闯到虚天殿的哪一关离开性价比最高?
第100集简介:播放破22亿!勾心斗角的心理战!
第101集简介:播放破22亿!B站最强修仙动画 玄骨为何看戏也不救队友?细节带你了解不一样的千年老鬼-玄骨!
第102集简介:炸裂!追番突破900W! 惜命的韩立为什么不把蜘蛛交给极阴?细节带你了解复杂的人心博弈
第103集简介:播放破23亿!元婴大能的黑话博弈
第104集简介:炸裂!播放破23亿! 改编极度优秀的一集细节
第106集简介:绝了!暗藏玄机的黑话博弈 元瑶只会影响他套猴的速度!吾辈楷模之韩天尊
第107集简介:逆天!元婴大能全在演戏? 韩立遭“长辈”填鸭式送宝韩跑跑原地过年!
第108集简介:惊艳!逻辑拉满的虚天殿博弈! 韩立卡bug得两件宝物“硬”闯极妙幻境!
第109集简介:泪目文戏!如箭离弦永不回头 韩立修仙为何叫“凡人修仙”?极妙幻境见证凡心
第110集简介:虚天殿夺鼎!元婴大战在即!
第111集简介:场景震撼!元婴CG大战将起! 双修功法好韩立捡到宝!
第112集简介:特效拉满!震撼打戏!
第113集简介:震撼!凡人特效最强一战! 元婴修士大混战特效拉到最满的一集!银月初登场!
第114集简介:从头打到尾!勾心斗角博弈拉满! 补天出小白卒!混战源头竟然是营销号?
第115集简介:元婴现!勾心斗角心理战博弈! 元婴建模不太“婴”乌丑名副其实真小丑!
第116集简介:电闪雷鸣!暗藏玄机的斗法 大战虚天殿的最终BOSS-玄骨!狡诈近乎妖孽
第117集简介:后会无期!玄骨韩立的终极之战! 一生如履薄冰!玄骨究竟是败给韩立还是败给命运?玄骨坚持下线不下岗
第118集简介:虚天殿结束!星海飞驰启程! 年番最丰满的一集!元瑶出浴元婴过度盘逻辑
第120集简介:文戏暗藏玄机!乱星海大战将起! 一结丹修士温天仁出场!风希剧情或有重大改编剧情片头片尾
第121集简介:大的来了!乱星海大战正式打响! 烂完了!外部战事吃紧内部护法紧吃剧情
第122集简介:正式揭开风希的隐藏暗线! 风希养鱼计划通!三界一善妖开始发力!剧情
第123集简介:星海飞驰渡劫大战! 闭关遇化形雷劫韩立躺枪继续开溜!
第124集简介:星海归途重逢有期! 韩立的终极应对之法-埋头闭关!凡人年番最后一集!
第119集简介: 逆星盟未打先赢恐怖的六道极圣!剧情
首播:2025-01-18
剧集:127-154
凡人修仙传:外海风云的剧情简介······ 看机智的凡人小子韩立如何稳健发展、步步为营,战魔道、夺至宝、驰骋星海、快意恩仇,成为纵横三界的强者。他日仙界重相逢,一声道友尽沧桑。
第127集简介:暗藏玄机!凡人的潜台词到底有多细? 一见韩立误终身!与风大善人的世纪性会面细节
第128集简介:阴谋恐怖!风希的话能信多少?
第129集简介:文戏一流!句句埋坑的千层博弈! 天南一剑修将成型公孙杏改编引争议
第130集简介:阴险恐怖!风雷翅争夺战开启!
第131集简介:震撼演出!星海飞驰正式开启! 跨越120多集的伏笔!小绿瓶直接翻盘!
第132集简介:特效炸裂!这是凡人动画的新里程! 风雷翅到手!新年番最爽的一集凡人修仙者
第133集简介:细腻文戏!凡人的台词究竟有多细? 妙音门究竟有何秘密?六道的谋划和紫灵仙子的飞升之谜!
第134集简介:星海飞驰!凡人动画新启程! 妙鹤不妙风希悲伤到让人心疼
第135集简介:震撼彩蛋!结丹巅峰之战将来临! 最强结丹一战将开启!百变魔女拿捏我与你!
第136集简介:大战将起!正式揭晓乱星海暗线! 这个忙韩老魔我帮定了!元瑶妍丽最感人的过渡集!