以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途谢谢合作!
·作者:@Yhen
·原文网站:CSDN
·原文链接:https://blog.csdn.net/Yhen1/article/details/105882754
转载请说明此出处,侵权必究!谢谢合作!
大噶好!我是python练习时长一个半月的Yhen.
好久没有发博客啦!第一是因为最近学校方面的学习和部门工作比较多,时间少了。第二个是感觉爬虫方面的博客写的也比较多了,而且爬虫这东西,你做多了,就会感觉方法套路都是差不多的,无非就是获取数据+解析数据+储存数据。再写一般的爬虫文章可能会没有这么容易吸引大家的阅读的兴趣了。所以我就在想先去学习新的知识,再来把我觉得比较有趣有用的知识分享给大家。
虽然以后的内容应该还是会以爬虫为主,但是我尽可能在项目的选择上选择一些大家比较感兴趣的或者改进爬虫代码,用更高效率的方式来爬。以后有时间的话,会分享下用多协程来完成爬虫任务以及用scrapy爬虫框架来进行爬取。
我现在准备学习数据分析,以后在学习的过程中也会分享一些有趣的经验给大家。
今天给大家分享的项目还是以爬虫为基础的,但和我之前的项目有所不同的是,之前的数据都是储存在txt文件里的。今天我们要把这些数据保存到数据库中去。最后会把源码也分享给大家!
PS:关于数据库,我也是初学者。今天的教程是我看了腾讯课堂老师的视频后,自己实践成功后写出来分享给大家的。也算是作为自己的一个笔记吧。因为我也和大家一样,都是刚刚接触的,所以有些地方可能能理解的不是很透彻。所以也请大佬们多多包涵,若发现我有错误的地方,请在评论区指正!谢谢大家!
好啦,话不多说了,马上开始今天的分享
一.前期准备
1.今天我们用到的是最常用的数据库MySQL,因为它是开源,最重要的是免费的!!!
下载安装教程
mysql下载安装教程
2.如果刚刚大家安装的时候,安装了MySql Workbeach了请忽略这一步
如果没有,请安装MySql Workbeach,这个是mysql数据化的可视化软件,(其实没有安装也是没有影响的,只是在这里面可以更方便的查看数据。待会我也会演示直接用mysql查看数据库数据表的数据)
我在安装mysqlworkbeach的时候就提示缺少visual c++2019,我在网上找到了资源,但是现在找不回网址了。于是我把它保存到网盘。如果和我出现同样情况的同学可以下载
链接:https://pan.baidu.com/s/1R4mm3IGK8jmmAdyJ2YMukw
提取码:78f4
复制这段内容后打开百度网盘手机App,操作更方便哦
安装好软件后,接下来就是今天要用到的一些第三方库了
3.第三方库(需要自行安装.如在终端输入:pip install+库名)
requests 这个不用解释了吧 经典爬虫库呢
pandas 一个数据分析基础库 今天就是要用它来实现储存数据到数据库中去
Bs4 今天用里面的Beautifulsoup来进行数据的定位解析
sqlalchemy 这个就是和数据库有关的第三方库了。用它来导入引擎,可以理解为是ORM的一个框架。它可以把数据中当中关于表格的操作转化为面向对象的操作。
OK,第三方库都安装好了以后
就正式开始今天的分享啦
二.思路分析
今天我们要爬取的项目是中商产业研究所里面提供的A股上市公司名单
url:
https://s.askci.com/stock/a/0-0?reportTime=2019-12-31&pageNum=2#QueryCondition
我们下拉页面,找到这个表格的数据
我们今天的目标是把这一整个表格爬取下来,并保存到数据库
其实pandas里面有个方法是可以把页面中的所有tables标签的数据爬取下来并保存到DateFrame对象中
那么我为什么还要用Beautifulsoup呢?因为在这个表格上面还有两个表格,而我们只想要截图里面的这个表格里面的数据,所以我们要通过Beautifulsoup来进行定位获取到这个表格的数据
ok,