本文设计内容如下:
语言:Python(3.x),R
工具:Spyder,Jupyter
内容:爬虫
模块/库/包:Python(selenium, bs4,rpy2)
DateBase :网易云音乐、bilibili
本人互联网行业分析师一枚,由于现在分析&挖掘界限不是很明显,同时爱好写代码,所以喜欢每个方面都接触一下,技多不压身嘛。
最近想练习一下爬虫,之前使用R的时候接触过RCurl ,Rvest等包,但是当时并没有接触太深入,只能爬一些简单的静态页面。之后换了套路:python + R。而python目前也就使用过selenium,bs4,所以也没法对比效率神马的,不过个人感觉爬虫python相对比起R来说更便捷,更效率,毕竟R是用来做数据科学的嘛。
一、数据采集&清洗
两种数据采集,本人使用了两种思路,第一种是完全selenium.webdriver;第二种是selenium.webdriver + bs4. BeautifulSoup。
首先从网易云音乐采集Miku的歌曲评论数据及评论明细,此处使用selenium.webdriver:
1、首先在歌手页面找到每首歌的地址(此处借助Chrome DevTools)
2、然后进入每首歌曲的地址,找到评论以及下一页位置。(步骤同上)
3、Ok找到以后就可以安心的写代码了
不过此处有个小问题,就是频繁抓取会被网易弹到首页强制登录。(囧,没试过登录,毕竟我买了一年的会员,万一被封了就杯具了)
其次,因为Miku的MMD代码是开源的,所以很多爱好者就做了很多视频,此处采集bilibili的视频信息。使用的是第二种方法elenium.webdriver + bs4. BeautifulSoup:
1、
具体怎么看结构就不再重复说了直接上代码,简要说明,此处主要是将webdriver的page_source转化成BeautifulSoup可以识别的格式。
最后一步简单的清洗了一下数据,因为b占有些内容里加了很多制表符和换行符。
二、描述分析
此部分其实主要是为了安利一个工具 Jupyter ,安装Anaconda3即可获取两款工具。
Jupyter对于同时使用python + R的同学简直是福音啊,这个工具也可以单机使用,也可以安装在服务器上远程调试类似于Rstudio-server,安装了rpy2之后,那就是个利器啊,不多说上图。
在Jupyter中,通过-I ,-o可以R或者python处理后的数据互相传递使用,这样就有效的减少了不必要的工作了。看起来是不是很酸爽。不过目前有个问题,以上图内rpy2的写法目前应该是只能在Jupyter里使用。
以上,本次的分享内容,如果错误请多指正!
作者:Leon (中国统计网特邀认证作者)
原文 http://www.itongji.cn/cms/article/articledetails?articleid=4388
【关于我们】
才淇(微信公众号:caiqicehua),专注于国内各大互联网公司社会招聘内推。每天更新最新互联网名企(包括但不限于今日头条、网易游戏、BAT、网易互联网、小米、京东、乐视、携程等名企)内推信息,有技术岗、有产品岗、有运营岗、有设计岗、有交互岗、有销售岗,更有其他N多相关岗位!更多内推信息请扫描以下二维码关注查阅。