diff --git "a/2017/07/12/\344\270\200\350\250\200\344\270\215\345\220\210\345\260\261\347\210\254\350\231\253\347\263\273\345\210\227\344\271\213\342\200\224\342\200\224\347\210\254\345\217\226\345\260\217\345\247\220\345\247\220\347\232\204\347\247\222\346\213\215MV/index.html" "b/2017/07/12/\344\270\200\350\250\200\344\270\215\345\220\210\345\260\261\347\210\254\350\231\253\347\263\273\345\210\227\344\271\213\342\200\224\342\200\224\347\210\254\345\217\226\345\260\217\345\247\220\345\247\220\347\232\204\347\247\222\346\213\215MV/index.html" index 932996ac..60c721c8 100644 --- "a/2017/07/12/\344\270\200\350\250\200\344\270\215\345\220\210\345\260\261\347\210\254\350\231\253\347\263\273\345\210\227\344\271\213\342\200\224\342\200\224\347\210\254\345\217\226\345\260\217\345\247\220\345\247\220\347\232\204\347\247\222\346\213\215MV/index.html" +++ "b/2017/07/12/\344\270\200\350\250\200\344\270\215\345\220\210\345\260\261\347\210\254\350\231\253\347\263\273\345\210\227\344\271\213\342\200\224\342\200\224\347\210\254\345\217\226\345\260\217\345\247\220\345\247\220\347\232\204\347\247\222\346\213\215MV/index.html" @@ -97,13 +97,13 @@ - + - + @@ -116,10 +116,10 @@ - + - + @@ -478,6 +478,7 @@
大连的盛夏实在是热的让人心烦(对于我这种既怕热又怕冷的真的没地呆了)。
+再加上令人头疼的毕业论文,这种日子怎能缺少MV来解暑呢。
既然要听,怎么只听一首呢,既然学了爬虫怎么让技能荒废呢。
好吧,烦躁的心情+想听MV的冲动+爬虫技能,今天小魔方教你使用R语言批量爬取秒拍小姐姐的MV视频短片。
diff --git a/atom.xml b/atom.xml index 1775cc11..348286d8 100644 --- a/atom.xml +++ b/atom.xml @@ -5,7 +5,7 @@ -大连的盛夏实在是热的让人心烦(对于我这种既怕热又怕冷的真的没地呆了)。
+再加上令人头疼的毕业论文,这种日子怎能缺少MV来解暑呢。
既然要听,怎么只听一首呢,既然学了爬虫怎么让技能荒废呢。
好吧,烦躁的心情+想听MV的冲动+爬虫技能,今天小魔方教你使用R语言批量爬取秒拍小姐姐的MV视频短片。
@@ -93,7 +94,6 @@ <p><img src="http://orz60j4aw.bkt.clouddn.com/taoxinyao/image.jpg" alt=""></p> <p>大连的盛夏实在是热的让人心烦(对于我这种既怕热又怕冷的真的没地呆了)。</p> -<p>再加上令人头疼的毕业论文,这种 diff --git a/baidusitemap.xml b/baidusitemap.xml index 006ea663..96382c8a 100644 --- a/baidusitemap.xml +++ b/baidusitemap.xml @@ -5,7 +5,7 @@大连的盛夏实在是热的让人心烦(对于我这种既怕热又怕冷的真的没地呆了)。
-再加上令人头疼的毕业论文,这种日子怎能缺少MV来解暑呢。
-既然要听,怎么只听一首呢,既然学了爬虫怎么让技能荒废呢。
-好吧,烦躁的心情+想听MV的冲动+爬虫技能,今天小魔方教你使用R语言批量爬取秒拍小姐姐的MV视频短片。
- -今天要爬的主页是一位叫陶心瑶小姐姐,刷微博偶然听到她翻唱薛之谦的《方圆万里》,感觉蛮有味道的,于是搜了她的秒拍主页。
- -主页的作品不多,仅有5首,但是因为仅作为爬虫练习只用,五首也够了(毕竟只是构造循环而已,1000首的步骤也是如此,可能需要构造翻页请求)。
MV挺长比较占内存,所以这里就不演示怎么去大批量的爬MV了(刚买的m本内存都快被掏空了)。
-首先是到主页之后分析它的网页结构:
-可以看到该主页只有5首mv列表,这时候鼠标随便定位到其中一首(我定位的是第一首),然后右键单击,打开开发者工具。
可以看到该首MV的视频地址存放在:
-
|
|
尝试着用这个地址来浏览器中运行:
- -OK,一切正常,说明这个地址很给力!
-随然完整的视频地址仅在video子节点的src属性中存放着,但是其实只要仔细研究就会发现,父节点MIAOPAI_player下的data-scid属性,data-img,子节点video内src,poster属性所存储的名称你图片链接名称中也是含有该视频的信息的。(共享一部分视频链接中的地址)。
事实上网页中展示的视频信息,最起码会给出三处可用的视频信息,即视频名称、视频封面页、视频的源地址。
-(给出这里的解析只是想让大家知道,爬虫不要钻牛角尖,不要以为只有视频原地址的链接一条路可走,万一节点的链接你抓不出来,那岂不是要哭瞎了)。
-然后该干嘛呢,当然是抓视频地址了(这里使用rvest包来抓)
--{xml_nodeset (0)}
-
啊哦,这意味着,软件不想理你,并向给你了个鄙视的眼神(请自己体会)。
-抓不到地址很心酸的(自己去网页里面复制那也太low啦)。
-肿么办,肿么办,肿么办???
-之前已经说过了,视频地址链接并非唯一的手段,因为视频的中的id在好几个属性值里面都有包含,所有我们只需任意抓一个属性值,通过观察原始视频地址进行链接的拼接即可。
-如果不想做复杂的字符串处理,那就抓最原始的名称吧。(这次目标是父节点MIAOPAI_player下的data-scid属性)。
-
|
|
--[1] “AUTy2nx4l-T~BhG-zX60wSDwwqoWfwpa” “ugJzN6LvH3emoPlSU2b52Cu-SbIQ5LFa” “wJ4AsVMgek6jp6lXDxIpXExCig9cVXo~” “I-J6u~qy7V5CpRIq-FoFA3pYtc6Yr0Sz”
-
[5] “pCLMPKezqWVWHyhjNHaRyKrX16APCeuw”
OK,完美搞定,接下来该干啥呢(快想快想)。(因为视频数量少,没有换页存储,所以这里不用构造换页请求,整个代码效率都提高了很多)
-接下来当然是构造可用的视频地址啦,因为我们刚才抓的并非完整的可直接传递到视频源的地址,仅仅是视频的id而已。
-好吧现在我们对比之前手工复制的视频源地址和这次抓到的视频id信息,观察规律。
---AUTy2nx4l-T~BhG-zX60wSDwwqoWfwpa
-
http://gslb.miaopai.com/stream/AUTy2nx4l-T~BhG-zX60wSDwwqoWfwpa.mp4
好吧,这次是不是一看就看明白咋回事儿啦,没错,视频源地址就是在视频id的基础上左侧添加了秒拍服务端的视频流服务器主网址,右侧添加了.MP4的视频格式而已,OK,接下我们的任务就是构造可用的视频下载地址。
-
|
|
OK两部搞定,敢不敢相信自己的眼睛哈哈。
-
|
|
如果不放心的话,可以使用这个地址再再浏览器中打开看一看,预览下是否可以观看视频。(放心吧我都替你试过了)
-现在我们只是获取了视频下载地址,可是没有MV的歌名呀(命名和123最后下载完事你可以需要打开听一听才知道是啥歌,如果使用ID的话一串字母数字组合也很烦人)。
-好吧索性再把名字趴下来:
-可以看到每首MV下面都有个含歌名的句子,就抓这句文字就行。
-
|
|
抓完发现每一个句子里面的歌名都是带有书名号的(特么的中文的书名号怎么匹配内部中文呀,正则不会写~_~)
-好吧,技不如人但是我勤快呀,就用字符串匹配函数一个个匹配吧!
匹配完成之后,把MP4的后缀带上。
都到了这份上了你还想怎样–好吧我只想把小姐姐的视频下载下来而已。
-因为是五个视频文件要下载,所以需要构造循环下载函数:
OK,爬完收工,是不是很简单呀,感觉去找个视频网站试一下吧,这个夏天,让音乐来的更猛烈一些吧!
-第一步:分析网页:
-第二部:爬取网页:
第三步:构造下载函数:
联系方式:
wechat:ljty1991
Mail:578708965@qq.com
个人公众号:数据小魔方(datamofang)
团队公众号:EasyCharts
qq交流群:[魔方学院]298236508
个人简介:
杜雨
财经专业研究僧;
伪数据可视化达人;
文科背景的编程小白;
喜欢研究商务图表与地理信息数据可视化,爱倒腾PowerBI、SAP DashBoard、Tableau、R ggplot2、Think-cell chart等诸如此类的数据可视化软件,创建并运营微信公众号“数据小魔方”。
Mail:578708965@qq.com
备注信息:
本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。