用Chrome上的插件Web Scraper爬取豆瓣恐怖片列表+Power BI数据分析实战
此次的达人任务有个分类是浏览器插件,正好可以和各位值友分享一下利用Chrome插件Web Scraper爬取网页内容的方法,随后可以用Power BI这样的可视化工具做进一步数据分析。
本人喜欢看恐怖片,基本上每周都会看几部电影,有的是网上下载,有时是去电影院,在张大妈这里也分享过不少影评文章了,其中我最喜欢看的就是恐怖片了,值友们有兴趣可以看看我的几篇关于恐怖片的原创。
其他影评文章也很多,欢迎关注交流。
言归正传哦,查看电影信息评分的网站有不少,国外的有Metacritic,烂番茄,IMDB,国内有时光网,猫眼,豆瓣等等。我本人已经常用的就是IMDB和豆瓣了,IMDB上有Trivia这样的花絮信息,豆瓣上有砖家影评,评分基数大也比较中立。那么能不能利用一个简单的方法抓取豆瓣上的电影信息呢?
答案当然是肯定的,其实爬网的方法很多,如果你对编程有一些基础,可以使用Python语言的Scrapy框架;如果对于爬网效率要求不高,也可以直接尝试本文的Chrome的Web Scraper插件,全部是在可视化界面操作。
什么是Web Scraper?
webscraper 是一款谷歌插件,可以方便的抓取网页上的内容:文字、链接、图片、表格等,而无需写一行代码。官方网址,它的主要优点如下:
免费
不受操作系统限制,只要安装Chrome浏览器即可运行
操作简单,易上手
功能强大:不仅可以抓静态网页,对于js动态加载的数据,也很容易抓取
如何安装Web Scraper?
首先当然电脑要有Google Chrome浏览器作为载体,对于浏览器版本没什么要求,安装最新版的即可。
Chrome插件有好几种安装方法,最简单的方法是在Google Store中直接下载,或者同学可以从我共享的百度云网盘中下载。
链接 ,密码:93oz
在Chrome的地址栏中输入chrome://extensions回车,可以进入插件配置页面;然后将网盘下载的Web-Scraper_v0.2.0.10.crx文件拖至浏览器中,然后选择Add extension安装。
其实呢,crx文件就是一个打包的压缩文件,拖入浏览器之后,就会自动在Chrome的插件目录中解压缩,并加载,可以看到Web Scraper已经在配置页面中显示了。
安装简单吧,如果是Python程序环境配置还要捯饬好半天呢。
豆瓣电影信息抓取实战
下面我们来实战抓取一下豆瓣的信息,我给自己命了个题是抓取近期豆瓣恐怖分类的电影名称,电影评分,上映时间等信息。
首先让我们来打开网页,分析一下网页的基本构成。
点击类型为恐怖,并且按时间排序。
翻到页面下部,可以看到有个加载更多的链接,点击之后会加载更多电影,为了显示更多电影,需要多次点击这个按钮。
按下键盘上的快捷键F12,然后选择Web Scraper的菜单。
结果发现没有任何子菜单产生......
稍微研究了下,发觉可能是因为视图的原因,造成选项无法正常显示。于是点击右侧Dock to Bottom将窗口固定在浏览器下方。
可以看到现在在Web Scraper下面有Sitemaps等选项了。
首先要新建一个新的Sitemap也就是新建一个要抓取的站点。点击Create sitemap。
输入Sitemap Name和Start URL,注意站点名称是不能包含空格的,我这里起名为douban-horror-movie。
爬网呢,是按照从上至下的次序分级进行的,确定了网站,然后我们要告诉Web Scraper下一部要抓取的对象,点击Add new selector。
第二级就是页面中的电影选项卡,我把它命名为movies,类型是Element click。选择这一类型是因为网页默认视图无法一次性显示所有电影选项卡,需要多次点击页面中的加载更多链接。点击Selector中的Select,然后移动鼠标选中任意页面中某部电影的选项卡,然后点击Done selecting!确认。
然后,选择Click selector中的Select,拉动页面,选择网页中的加载更多按钮,点击Done selecting!可以看到选中后会出现a.more的网页元素,如果您熟悉html等网页语言,就很容易理解了。因为,要抓取多部电影所以页面下方要勾选Multiple。
下面还有一些其他的选项,建议还是在Delay(ms)中设置一个延迟时间,实操中我发现如果用默认值网页加载的速度可能不够快,会导致Web Scraper抓取不到需要的信息提前中止。
至此,第二级对象设置完毕。然后,我希望Web Scraper分别点开所有的电影选项卡,查看到子页面的电影信息。那么主页面和子页面之间需要建立一个桥梁,所以我需要一个链接(Link)。操作方法是和上面那个对象是一致的,选中链接,保存即可。
以上这些步骤都是抽丝剥茧,我们的真正目标是子页面电影详情中的信息。这里大家要注意,不要点击当前页面的链接到达子页面,这样会离开Web Scraper的配置界面,要将子页面的地址拷贝到当前网页窗口。
下面是抓取子页面的信息,比如电影标题。方法没有变化,选择类型为Text,点击Selector中的Select,选中页面的电影标题,然后点击Done selecting!按钮。
其他要选择的内容就可以自由发挥了,比如制片国家,上映年份,评分等等,类型都是Text。我这里就选择了最简的电影标题,年份和评分。
然后,点击Web Scraper菜单中的Start scraping按钮就可以开始爬网了!
然后你会看到网页在欢乐地跳动着......不要停......不要停......
等到一切归于平静,可以看到一众烂片的信息映入眼帘。可以点击Export data as CSV。
打开CSV的各式是这样的,我的示例中是爬取了2010年起的497部电影。
用Power BI对数据作进一步分析
有了源数据,就可以利用Power BI做进一步分析了。
在Power BI中点击获取数据->文本/csv,倒入源数据
先将jump,jump-href等无效列给删除
其实数据很简单,只有三列,但是第三列的数值型数据都有个"-",需要把它去掉。
既然是数字型数据,要把它变正最简单的方法就是取绝对值了,右键此列选择绝对值即可。
至此对于源数据的处理已告结束。
点击左侧上部的“报表”区域,可以添加图表。
这里做个简单的示例,添加一个切片器,用来控制年份。
再添加一个折线图。然后分别将年份,评分拖动到对应的位置。
默认是对当年电影所有评分求和,可以在设置中改为平均值。
依图所示,貌似2018年的恐怖片的质量居然有所提高,这是个非常恐怖的发现,我今年真没发现什么特别好看的恐怖片。
作为一款强大的数据可视化工具,也可以在显示详细数据,见下图,其实分数变动不大,如果把纵轴的设置修改一下,就不会显得这么突兀了。
这里分享了一下利用Chrome浏览器的Web Scraper插件抓取豆瓣数据以及Power BI分析数据的简单方法,其他网站的处理方法也是大同小异,大家可以举一反三,比如可以抓个什么值得买的优惠信息,优秀原创文章等等,这样以后就不用上这啥都有的破网了,哈哈~
阿法狗蛋
校验提示文案
fzcww
校验提示文案
星海so
校验提示文案
8072click
校验提示文案
怒为T4000注册
校验提示文案
西瓜强强
校验提示文案
剑之初心者
校验提示文案
周克
校验提示文案
不是我说的
校验提示文案
王暴菲
校验提示文案
forrest2013
校验提示文案
洋芋片半价
校验提示文案
zzyi4u
校验提示文案
lsland
校验提示文案
缺失的睡眠
校验提示文案
一个群众演员
校验提示文案
顽灵
校验提示文案
野山闲水
校验提示文案
白菜白光
校验提示文案
值友9365230641
校验提示文案
石原外美
校验提示文案
Myra0406
校验提示文案
红色旗帜
校验提示文案
kakashu
校验提示文案
王暴菲
校验提示文案
激昂石岸
校验提示文案
饭盒达
校验提示文案
贪吃小提莫
校验提示文案
不是我说的
校验提示文案
8072click
校验提示文案
8072click
校验提示文案
fzcww
校验提示文案
横行无忌
校验提示文案
王阿冷
校验提示文案
财安顺遂
校验提示文案
打开日王日王大礼包
校验提示文案
dvdidle
校验提示文案
阿司匹林片
校验提示文案
gqlseed
校验提示文案
firekey
校验提示文案