一、背景概述
1、豆瓣一次性发5篇影评就要想办法阻止你了,输对了验证码也告诉你是错的。还经常因为语言过激就把影评给和谐了。
2、想把影评、体验这一类的数据都转存的到维格表格里面统一管理,再通过api标准接口做可视化。
3、然后摸索了一下用浏览器的爬虫插件快速把自己这些年在豆瓣上对各种电影,电视剧,综艺的评价快速爬取下来。具体过程如下。
二、准备内容
-
web scraper 浏览器插件
-
豆瓣账户地址
三、过程记录
0)安装webscraper 浏览器插件
这个不多赘述,自行狗度。插件商店也能直接搜索安装下载。
1)配置爬虫
0、复制广播页面的url地址备用
1、F12打开控制栏,打开webscraper控制台新增一个爬虫,设置复制的广播地址作为sitemap的开始url。注意后面[1-6],代表的是爬取我1到6页的内容,自己可以按需配置。
2、配置第一个容器:add newselector;然后点击select按钮在页面中选中那个评论的div,然后再选第二个,就会默认把整页的这个div都选中了,然后勾选下面的multiple。表示这是爬虫在页面里要爬取的主要对象。
3、配置容器里面的元素:咱们这个列表页的容器里面除了一个访问二级详情页的跳转url,没有任何有价值的元素。所以就添加一个跳转元素即可。先选择type类型为link,然后在上一步容器内找到点击后会跳转详情页的区域。选择父级选择器为上一步的容器即可。
4、配置二级页面的需要元素:方法同理上面2步,类型选择text就行,然后可以按需在右侧电影信息栏抓取影片信息里面的项目。我主要抓了自己的评论,导演,地区。
上映日期不是一个纯粹的日期(会后面加地区),并且经常包含多个日趋,需要做正则或者在表格里另做函数处理才能数据结构化。于是我就放弃了这个。
5、查看自己配置的选择器的内容与层级:我从root》容器》二级》各种内容
2)运行爬虫
1、点击sitemap下面的scrape,设置延时用默认的就行,这个不是视频站,加载还是比较快的。然后就静静等待插件运行抓取数据。注意运行爬虫前把多余的窗口都关闭了。这个占电脑资源还是比较大的。
整个爬取过程就是会有一个插件的浏览器弹窗会按配置的规则一条一条的打开你的评论详情页,把指定的内容数据自动存下来。
2、查看抓取进度:点击browse,可以实时刷新看爬虫抓到的数据内容表格。因为我状态页面里除了影评还会有软件和其他东西的评价,规则不适用所以抓上来是null,这个可以回头下载本地直接筛选清除。
3)下载爬取结果
点击export as csv就能直接下载本地了。
4)确认爬取数据完整性
爬取完成不会有具体的提示,直接插件的爬取窗口会关闭,也有可能是占用资源太多插件崩溃了,所以需要在下载的文件里看一下爬取内容的数据是否和预期数量一致,我设定了6页,每页二十条,差不多120条用了10分钟完成爬取。所以数据是完整的。
四、心得体会
1、这个应该是对于无IT基础最快捷的抓取和移动数据的方法了。场景还可以适用于行业网站的联系方式啥的获取,或者各种工具平台之间的数据迁移。
2、这个爬虫是可以直接快速导入复用的,如果有相同需求的同学可以关注并私信我“爬虫”关键字,就可以获得我上面写好的现成脚本,直接导入插件,编辑账号地址进行修改就能快速抓取目标数据。这个也适用于爬取其他用户的影评记录。
网友评论