豆瓣电影TOP250抓取

下了那么多包没用多少东西,看着黑人,反正prada   prada 的赶紧逃,赶紧的,你会炸的

   这里面主要用到R/Rstudio里面的RCurl、XML、wordcloud、stringr、jiebaR勒几个包,熟悉的娃晓得R里面爬虫明星般的包就是RCurl和Rvset了,不过对于更强大的Rselenium、Rwebdriver什么的先不要管了,别把自己玩疯了,作文本处理的wordcloud和jiebaR挺好玩的,我这不讲解专业知识要看去百度爸爸那里去要,也可以留言,发现某个小可爱我会call你的

library(RCurl)
library(RMySQL)
library(XML)
library(stringr)
library(tcltk)
library(jiebaR)
library(wordcloud2)

                         #这才开始别急,好戏开演了

#连接数据库,把有些老司机的东西存在库里面就不会丢了哦

conn<-dbConnect(MySQL(),dbname="mysql",user="root",password="lee0305",host="127.0.0.1",port=3306)
#http请求头
myheader <- c("User-Agent"="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0","Accept"="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Language"="en-us","Connection"="keep-alive","Accept-Charset"="GB2312,utf-8;q=0.7,*;q=0.7")
#网址拆分,根据网址的构成拆分便于爬取
fpart<-"https://movie.douban.com/top250?start="
page_basen<-25
k=0
j=0:9
lpart<-"&filter="

#建立空白数据框,准备个箩筐哈,捡肥皂了好带回家,你是不是这样的?
doubanmovie<-data.frame()
#爬取进度显示,

#这个了,其实没得多大用处,就是看看爬到哪了,但是量大的时候可以看看进度还不错,如果出问题了,还可以设置跳出去看看哪出bug了

pbar<-tkProgressBar(title="进度",label="主人,我已完成%",min=0,max=100,initial=0,width=500)

#调试信息收集,网站那头的就不喜欢我们这样的来袭,所以看看我们获取的时候有没什么异常的,不过我这点量是不可能的,哈哈哈
dg<-debugGatherer()

#数据获取、解析
for(k in j){spider_url<-str_c(fpart,page_basen*k,lpart,sep="")#网址请求、解析网页analysis_url<-getURL(spider_url,httpheader=myheader,debugfunction=dg$update,verbose=TRUE)ana_doc<-htmlParse(analysis_url,encoding = "UTF-8")#电影中文名提取mname<-xpathSApply(ana_doc,"//*/span[@class='title'][1]",xmlValue)#电影别名提取一波三折啊oname<-xpathSApply(ana_doc,"//*/span[@class='other']",xmlValue)oname0<-str_split_fixed(str_trim(oname),"/",3)oname1<-str_trim(str_replace_all(oname0[,2],"/[:blank:]",""))oname2<-str_trim(oname0[,3])#导演、主演等信息,mdirector<-xpathSApply(ana_doc,"//*/div[@class='bd']/p[1]",xmlValue)mdfixed1<-str_split_fixed(mdirector,"主演|主",2)#导演mdir<-str_trim(str_sub(mdfixed1[,1],start=str_locate(mdfixed1[,1],"导演")[1]+3))mdfixed2<-str_split_fixed(mdfixed1[,2],"\n",2)#主演,非要整这么主角,麻烦lactor<-str_replace(mdfixed2[,1],":[:space:]","")mdfixed3<-str_split_fixed(mdfixed2[,2],"/",3)#上映年份myear<-str_trim(mdfixed3[,1])#制片国家/地区mc<-str_trim(mdfixed3[,2])#电影类型mtype<-str_trim(str_replace_all(mdfixed3[,3],"\n",""))#电影豆瓣评分,勒是好多宝宝关注的梗,哈哈ratenum<-xpathSApply(ana_doc,"//*/div[@class='star']/span[@class='rating_num']",xmlValue)#豆瓣评价人数 rnum<-xpathSApply(ana_doc,"//*/div[@class='star']/span[4]",xmlValue)ranum<-str_replace_all(rnum,"人评价","")#电影标签mtag<-xpathSApply(ana_doc,"//*/p[@class='quote']/span[@class='inq']",xmlValue)#电影豆瓣详情链接,剧情介绍啊,评论啊等等等的都有mlink<-xpathSApply(ana_doc,"//*/div[@class='item']/div[@class='pic']/a",xmlAttrs)mlinks<-str_replace_all(mlink,"href","")  #电影封面,你值得拥有mpic<-xpathSApply(ana_doc,"//*/div[@class='pic']/a/img",xmlGetAttr,'src')doubaninfo<-data.frame(mname,oname1,oname2,mdir,lactor,myear,mc,mtype,ratenum,ranum,mtag,mlinks,mpic)doubanmovie<-rbind.data.frame(doubanmovie,doubaninfo)info<- sprintf("已完成 %d%%", round((k+1)*100/length(j)))  setTkProgressBar(pbar, value =(k+1)*100/length(j), title = sprintf("进度 (%s)",info),label = info)Sys.sleep(5)
}

close(pbar)
#将数据写入数据库,怕掉了啊
dbWriteTable(conn, "doubantop", doubanmovie)

#设置下载图片需要放置的位置,下图片你懂得,有些老司机
setwd("F:/RSTUDIO")
for(m in 1:length(doubanmovie$mpic)){mop<-getBinaryURL(doubanmovie$mpic[m])picm<-file(paste("num",doubanmovie$mname[m],".jpg",sep=""),open="wb")writeBin(mop,picm)close(picm)Sys.sleep(3)
}

#这里想把前面的数据存着的慢慢看自个写一行代码存起来,哈哈哈哈哈哈哈哈哈哈哈哈

来了来了,把数据部分截图给你们瞅瞅

没得什么可视化给想学习的宝宝看,自个整吧,反正你还年轻还可以熬一熬

#后面这些乱七八糟的了,不扯了不扯了,有兴趣看看瞅瞅事业线飙升
gnum<-group_by(douban,douban$myear)
rnum<-group_size(gnum)
ynum<-count(douban,douban$myear,sort=TRUE)
rwords<-str_split_fixed(doubanmovie$mc," ",5)
write.table(rwords,file="wordsnum.txt",sep="\t",
            quote=FALSE,row.names=FALSE,col.names=FALSE)

#词云制作,草稿,别看了
wordsseg<-readLines("wordsnum.txt",encoding="GBK")
seg<-qseg[wordsseg]
se<-str_replace_all(seg,"[:digit:]","")
segm<-data.frame(table(se))
wordcloud2(segm,color = "random-light",backgroundColor = "black" ,shape="circle")

假装弄一个词云在这忽悠哈人哈哈哈                                   这下面这个还有个丑的很的结果是这些高分电影数量排名的上映年份和数量

对应年份电影上映数量

奉节脐橙性凉,味甘酸,归肺、脾、胃经;具有生津开胃、止呕、清肠、保护血管的功效。

奉节脐橙中富含维C和维P以及胡萝卜素,可以抑制致癌物质的形成,还能软化和保护血管,促进血液循环,降低胆固醇和血脂;维生素P可以有效防止维C被破坏。盐蒸橙子是化痰止咳良药。橙皮里有两种成分具有止咳化痰的功效,一个是那可汀,一个是橙皮油。这两种成分,只有在蒸煮之后才会从橙皮中出来,所以咳嗽有痰的时候,不妨蒸个橙子试试

https://weidian.com/?userid=1267683370

还翻,没的了,欢迎大咖们来袭啊,come on

R语言爬虫豆瓣高评分电影(喝最烈的酒,熬最深的夜,吃最好的胃药,敷最贵的面膜)相关推荐

  1. python爬虫实践之爬取豆瓣高评分电影

    目录 概述 准备 所需模块 涉及知识点 运行效果 完成爬虫 1. 分析网页 2. 爬虫代码 3. 整理总结 概述 爬取豆瓣的高评分的电影. 准备 所需模块 re模块 requests模块 涉及知识点 ...

  2. R语言RCurl爬虫(多线程爬虫)-高评分豆瓣图书

    R语言爬虫-高评分图书(豆瓣) # R语言爬虫-高评分图书(豆瓣) 本篇文章依然延续之前的爬虫类型文章,多次实操有助于对于代码的理解和技术的提升.此次爬取的是豆瓣上高评分的图书,每一次爬取都会给大家提 ...

  3. 豆瓣电影R语言爬虫和数据分析.

    主要内容: 1.r语言爬虫 rvest包的使用. 2.r语言字符串处理stringr包的使用. 3.r语言聚合dplyr 包的使用. 4.r语言可视化ggplot 包的使用. 5.r语言画词云图wor ...

  4. R语言-基于豆瓣电影详情数据的清洗和多元回归分析

    R语言-基于豆瓣电影详情数据的清洗和多元回归分析 文章目录 前言 一.数据源说明 二.数据合并 1.RData合并 2.csv合并 三.数据清洗 1.导入数据 2.总体缺失值.异常值识别 2.1缺失值 ...

  5. 小白用Python抓取豆瓣高评分喜剧电影

    目的:抓取豆瓣高评分喜剧电影 导入所需的库 import requests#进行模拟浏览器进行发送请求 import json#导入JSON类型的库 不会导入库的话,请参考我的上一篇文章,上面有提及. ...

  6. 数据挖掘r语言和python知乎_Hellobi Live |R语言爬虫实战案例分享:网易云课堂、知乎live、今日头条、B站视频...

    课程名称 R语言爬虫实战案例分享:网易云课堂.知乎live.今日头条.B站视频 网络数据抓取是数据科学中获取数据中的重要途径,但是一直以来受制于高门槛,都是专业程序员的专属技能.直到R语言和Pytho ...

  7. 手把手教你使用R语言爬虫在气象网站抓取气象数据并分析绘制热力日历图(1)

    我们做临床研究常见的烦恼为没有好的数据,目前气象网站上有很多关于气象因素和空气质量数据,但是没有系统的整理和格式等问题,我们使用起来非常不方便,而且很费时间,我们可以使用R语言爬虫工具对网站上的数据进 ...

  8. R语言爬虫:当当图书畅销榜(近7日)

    时间:2018-10-9 爬取内容:当当图书畅销榜(近7日):书名.作者.出版社.推荐率.出版时间.价格.折扣.网址 R语言爬虫:当当图书畅销榜(近7日) 通过对其他人爬虫代码的学习,发现有相当一部分 ...

  9. OSChina 周二乱弹 —— 喝最烈的酒 坐最贵的救护车

    2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2018)请戳(这里) [今日歌曲] @小小编辑:分享mol-74的单曲<呼吸> <呼吸&g ...

最新文章

  1. python编程图片_python下载百度图片,python图片下载程序
  2. e3 1231 v3 达芬奇_黑苹果E3-1231-V3 + Z97-HD3+GTX960安装High Sierra10.13.6
  3. colinux的安装
  4. 目标检测——YOLOv5的学习笔记
  5. 《教孩子学编程(Python语言版)》——1.3 运行Python程序
  6. NI强化半导体测试布局 弹性/高性价比打败不景气
  7. 小米手机怎么复制加密门禁卡_使用小米手机复制加密门禁卡的方法
  8. 360 error.html,360浏览器出错了怎么办
  9. 英语面试自我介绍范文(二)
  10. 平衡二叉树的插入与删除
  11. 盟军敢死队I:深入敌后--秘籍
  12. c++win32项目 如何显示后再删除一个绘图_Golden Software Surfer(三维绘图软件) 中文版分享...
  13. 怎么取消工作组计算机,windows10系统如何退出workgroup工作组 windows10系统退出workgroup工作组的操作方法...
  14. 投入产出实例matlab,基于MATLAB的投入产出分析
  15. 路德维希贝多芬计算机怎么操作,路德维希·凡·贝多芬(Ludwig van Beethoven)-欢乐颂(Ode an die Freude)...
  16. 关于下载淘宝教育的课程
  17. 关于买房提前还款问题
  18. iOS自己总结的超级详细分解富文本大全(AttributedString),图文混排很轻松
  19. fpga挂一片ddr2_基于Cyclone III FPGA的DDR2接口设计分析
  20. java设置text字体颜色_java itext添加中文文字和设置文字颜色

热门文章

  1. table标签的不规则布局
  2. 关于矩形的边框,以及边框线偶尔不显示的问题
  3. nginx+lua实现限流降级(使用lua的lua-resty-limit-traffic)
  4. 移动Web实训DAY-2
  5. 安卓开发问题之 Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication
  6. Curl运维命令 - 日常用法总结
  7. 最新广告法规定禁用词汇,不幸被通报,官网小伙伴们记得文案检查下哈
  8. vue plupload 的使用
  9. When OOP Becomes POO
  10. JS正则表达式小笔记