1. 首页
  2. 自学中心
  3. 软件
  4. Python

爬虫Selenium&bs4 + Miku分享

作者:分析师 Leon

注:本人是二次元生物,大爱公主miku及V家,感兴趣的骚年请自行百度=。=,另本人非专业程序猿,代码可能比较繁琐。

本文设计内容如下:

语言: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)

image002

2、然后进入每首歌曲的地址,找到评论以及下一页位置。(步骤同上)

3、Ok找到以后就可以安心的写代码了

image003
不过此处有个小问题,就是频繁抓取会被网易弹到首页强制登录。(囧,没试过登录,毕竟我买了一年的会员,万一被封了就杯具了)

其次,因为Miku的MMD代码是开源的,所以很多爱好者就做了很多视频,此处采集bilibili的视频信息。使用的是第二种方法elenium.webdriver + bs4. BeautifulSoup:

1、

image004
具体怎么看结构就不再重复说了直接上代码,简要说明,此处主要是将webdriver的page_source转化成BeautifulSoup可以识别的格式。

最后一步简单的清洗了一下数据,因为b占有些内容里加了很多制表符和换行符。

二、描述分析

此部分其实主要是为了安利一个工具 Jupyter ,安装Anaconda3即可获取两款工具。

Jupyter对于同时使用python + R的同学简直是福音啊,这个工具也可以单机使用,也可以安装在服务器上远程调试类似于Rstudio-server,安装了rpy2之后,那就是个利器啊,不多说上图。

image005

在Jupyter中,通过-I ,-o可以R或者python处理后的数据互相传递使用,这样就有效的减少了不必要的工作了。看起来是不是很酸爽。不过目前有个问题,以上图内rpy2的写法目前应该是只能在Jupyter里使用。

以上,本次的分享内容,如果错误请多指正!

原创文章,作者:xsmile,如若转载,请注明出处:http://www.17bigdata.com/%e7%88%ac%e8%99%abseleniumbs4-miku%e5%88%86%e4%ba%ab/

联系我们

在线咨询:点击这里给我发消息

邮件:23683716@qq.com

跳至工具栏