• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

R语言爬虫:使用R语言爬取豆瓣电影数据

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

豆瓣排名前25电影及评价爬取

url <-\'http://movie.douban.com/top250?format=text\'
# 获取网页原代码,以行的形式存放在web 变量中
web <- readLines(url,encoding="UTF-8")
# 找到包含电影名称的行
name <- str_extract_all(string = web, pattern = \'<span class="title">.+</span>\')
movie.names_line <- unlist(name)
# 用正则表达式来提取电影名
movie.names <- str_extract(string = movie.names_line, pattern = ">[^&].+<") %>% 
    str_replace_all(string = ., pattern = ">|<",replacement = "")
movie.names <- na.omit(movie.names)
# 获取评价人数
Rating <- str_extract_all(string = web,pattern = \'<span>[:digit:]+人评价</span>\')
Rating.num_line <- unlist(Rating)
Rating.num <- str_extract(string = Rating.num_line, pattern = "[:digit:]+") %>% as.numeric(.)
# 获取评价分数
Score_line <- str_extract_all(string = web, 
                              pattern = \'<span class="rating_num" property="v:average">[\\d\\.]+</span>\')
Score_line <- unlist(Score_line)
Score <- str_extract(string = Score_line, pattern = \'\\d\\.\\d\') %>% as.numeric(.)
# 数据合并
MovieData <- data.frame(MovieName = movie.names,
                        RatingNum = Rating.num,Score = Score,
                        Rank = seq(1,25),stringsAsFactors = FALSE)
# 可视化
library(ggplot2)
ggplot(data = MovieData, aes(x = Rank,y = Score)) + 
    geom_point(aes(size = RatingNum)) + 
    geom_text(aes(label = MovieName),colour = "blue", size = 4, vjust = -0.6)

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言爬虫:爬取包含所有R包的名称及介绍发布时间:2022-07-18
下一篇:
R语言爬虫:Rvest包函数介绍(表格)发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap