R语言对豆瓣电影top250进行分析

 

 

我们这学期开设了数据采集课程,完全建立在R软件基础之上。在搜索相关资料过程中,发现关于R爬取的东西特别少,把提取部分分享到博客中希望可以帮助有缘人。

library(stringr)

library(RCurl)

library(XML)

在这里找到豆瓣电影所对应的链接https://movie.douban.com/top250?&filter=, 打开这个链接我们可以看到排行前25名的电影信息,top250的电影信息以同样的形式分布在10页上。

(1)提取一页的电影信息

在这里,我们以第一页为例,提取所需要的内容,首先是用readLines()函数读取整个网页。

url<-https://movie.douban.com/top250?&filter=

web<-readLines(url,encoding="UTF-8")

查看源代码我们可以知道,电影名字在标签<span class="title">…</span>中,用str_extract_all()函数进行筛选并把内容展开,程序如下:

name<- str_extract_all(string = web, pattern = '<spanclass="title">.+</span>')

movie.names_line<- unlist(name)

查看movie.names_line可以得到:

 

结果并不是太完美,接下来用正则表达式进行提取,并且删除空缺NA值,程序如下:

movie.names<- str_extract(string = movie.names_line, pattern =">[^&].+<") %>%

    str_replace_all(string = ., pattern =">|<",replacement = "")

movie.names<- na.omit(movie.names)

这时候再次查看movie.names

 [1] "肖申克的救赎"       "霸王别姬"           "这个杀手不太冷"   

 [4] "阿甘正传"           "美丽人生"           "千与千寻"         

 [7] "泰坦尼克号"         "辛德勒的名单"       "盗梦空间"         

[10]"机器人总动员"      "三傻大闹宝莱坞"     "海上钢琴师"       

[13]"忠犬八公的故事"    "放牛班的春天"       "大话西游之大圣娶亲"

[16]"楚门的世界"         "龙猫"               "教

  • 2
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值