利用免费工具爬取关键词(数据)的豆瓣读书数据——八爪鱼爬取数据并导出到Excel/Mysql数据库设置示例——关键词:爬虫、读书、实用、生活

2021/5/10 2:25:30

本文主要是介绍利用免费工具爬取关键词(数据)的豆瓣读书数据——八爪鱼爬取数据并导出到Excel/Mysql数据库设置示例——关键词:爬虫、读书、实用、生活,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

原始需求:

需求解读:

所需软件配置:

软件介绍

八爪鱼

Excel

Mysql

数据采集及保存

步骤1  探索搜索页面规律

步骤二  八爪鱼批量生成链接,添加参数(前缀+尾巴)

步骤三  采集数据(书名、评分、评分人数、详情链接)

步骤四  评分人数采集处理

步骤五  导出Excel/导入Mysql

A:导出到Excel 

B:导入Mysql

小结


原始需求:

最近单位有购书计划,想选几本关于数据的还不错的书看看,去某东、某猫、某当网,发现销量高的在豆瓣上大家对书的评论不一定好,但豆瓣关键词搜索又没有评分排序功能,还得考虑评论人数的影响,这样一个个看太慢,要疯了!


需求解读:

审题:想选几本关于数据的还不错的书看看,发现销量高的在豆瓣上大家对书的评分不一定好但豆瓣关键词搜索又没有评分排序功能还得考虑评论人数的影响这样一个个看太慢

目标页面豆瓣、关键词数据搜索

目标信息评分评论人数图书链接

实施方案:利用爬取工具八爪鱼,实现数据快速抓取,并导出Excel进行快速筛选;也可以导入Mysql数据库作为本示例的一个拓展。


所需软件配置:

八爪鱼8.2.2.111911
Excel随意
Navicat

12.0.11(64位)

mysql5.7.21-log

软件介绍

八爪鱼

不好意思,放错了。

Excel

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数据库设置示例——关键词:爬虫、读书、实用、生活的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程