利用免费工具爬取关键词(数据)的豆瓣读书数据——八爪鱼爬取数据并导出到Excel/Mysql数据库设置示例——关键词:爬虫、读书、实用、生活
作者:互联网
目录
原始需求:
最近单位有购书计划,想选几本关于数据的还不错的书看看,去某东、某猫、某当网,发现销量高的在豆瓣上大家对书的评论不一定好,但豆瓣关键词搜索又没有评分排序功能,还得考虑评论人数的影响,这样一个个看太慢,要疯了!
需求解读:
审题:想选几本关于数据的还不错的书看看,发现销量高的在豆瓣上大家对书的评分不一定好,但豆瓣关键词搜索又没有评分排序功能,还得考虑评论人数的影响,这样一个个看太慢
目标页面:豆瓣、关键词数据搜索
目标信息:评分、评论人数、图书链接
实施方案:利用爬取工具八爪鱼,实现数据快速抓取,并导出Excel进行快速筛选;也可以导入Mysql数据库作为本示例的一个拓展。
所需软件配置:
八爪鱼 | 8.2.2.111911 |
Excel | 随意 |
Navicat | 12.0.11(64位) |
mysql | 5.7.21-log |
软件介绍
八爪鱼
不好意思,放错了。
Excel
Navicat
Mysql
数据采集及保存
步骤1 探索搜索页面规律
打开豆瓣读书,搜索关键词:数据,观察搜索结果第一、二、三页。
发现规律没有,第2页的页面与第1页的页面只是尾巴处相差15,第3页与第2页间隔也是15,不难发现15是一页所包含的书信息数,截至写文章前一共134页,故134*15 = 1995是最后一页。
现在我们可以找到所有搜索页面的规律,把网页看成前缀+尾巴的形式,那么前缀就是:https://search.douban.com/book/subject_search?search_text=%E6%95%B0%E6%8D%AE&cat=1001&start=,尾巴(起:0~终:1995)
步骤二 八爪鱼批量生成链接,添加参数(前缀+尾巴)
这样,我们就得到了生成的网址,当然不嫌麻烦也可以自己动手134个!
步骤三 采集数据(书名、评分、评分人数、详情链接)
选择全部就获得了书名和链接两个信息列,如法炮制依次可以点击评分和评分人数来获取评分、评分人数。
步骤四 评分人数采集处理
注意到评价人数的形式为“(XXX人评价)”,为了后续更方便的处理数据(对评分人数进行筛选),我们将评分人数的数据进行正则化处理,将其变成“XXX”最好。
依次按照上图进行操作,可以进入正则表达式匹配,具体啥是正则表达式,大家可以参考链接:正则表达式 - 语法——菜鸟教程:https://www.runoob.com/regexp/regexp-syntax.html
这个时候可能有懒人就跳出来了,那我不会咋办呢,也有办法,继续往下看:
我们的目的说白了就是把(***人评论)里面的***数字部分提取出来,那么我们把这个表达式看成"(" 、”***”、“人评论)”三部分,那么我告诉正则工具起是“(”,结束是“人”就好了。这样数字就提取出来了。按照第一步就自动自动自动(重要的事情说三次)生成了右下角的正则表达式!到了第三步点击匹配再看看匹配结果是不是514即可!
返回到进入工具前的界面,点击确认即可。
这里如果感兴趣的同学可以学习一下正则表达式,那么就可以不使用工具来获得正则表达式,直接编辑即可。
推荐一个认可度比较高的一个教程:正则表达式30分钟入门教程https://deerchao.cn/tutorials/regex/regex.htm 和一个在线测试工具:https://deerchao.cn/tools/wegester/
附带说一句,因为写爬虫经常会用到这个表达式,笔者可谓是经常看,经常忘,第一次接触这个表达式,大家不要指望30分钟能精通,每次用到学就好了,私下经常开玩笑,教程是正则表达式保持30分钟记忆教程,过了30分钟就得重新看了。
返回主页面,看下左下角的数据采集,核对无误,更改下列名,大功告成,就可以开始采集了! ——————你以为这样就可以了吗?过了一会儿发现咋打不开网站了呢?往下看
还有最关键的一步,流程图里设置执行前等待!重要的事情再说一次:一定要设置执行前等待,如果不设置,那么工具会不停顿的疯狂点击链接,可以设想一下如果你是站长,看到有人有如此高频访问网站的操作,肯定以为这伙计是有预谋的攻击,铁定会撸他呀!这个时间设置,一般选随机为宜。
×不设置等待的下场:
再来一次:返回主页面,看下左下角的数据采集,核对无误,更改下列名,大功告成,就可以开始采集了!既然打的是免费噱头,启动本地采集就可以了!
经过大概4分钟的采集,我们获得了1300多条数据。
步骤五 导出Excel/导入Mysql
A:导出到Excel
这个是最简单也是便捷的方式,直接按系统提示操作即可!
B:导入Mysql
Step 1 建表
既然是导入Mysql,那肯定是先要在Mysql里建表呀!
两个注意点一定要注意,一个是为了省事儿,一个是确实是个大坑!更别忘了点保存!
Step 2 连数据库
依次对应填入:
服务器名称 | 主机名或IP地址 |
端口 | 端口 |
用户名称 | 数据库用户名 |
密码 | 数据库密码 |
测试成功以后
最后点击导入即可!
返回Navicat里查看数据表格,大功告成!
小结
本文利用爬取工具——八爪鱼,对豆瓣读书关键词数据搜索结果信息进行采集,并导出进Excel/Mysql两种储存工具中,完成了数据集的收集功能!
有同学想要示例数据集或者对最终排名感兴趣的可以私信!
笔者槿柊,一名默默无闻的电力行业数据分析师。
爱好读不同类型的书,交不同性格的朋友!
标签:评分,八爪,关键词,Excel,采集,读书,Mysql,数据 来源: https://blog.csdn.net/weixin_45920113/article/details/116567516