首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何利用Python爬取并分析红岭创投的数据?

本篇图文为大家介绍,如何利用 Python 爬取红岭创投网站的日投资发标记录,并把这些数据存储在 Mysql 数据库中,之后将其进行可视化分析的过程。

第一步:爬取数据

通过 selenium + Firefox 的无头模式将需要的数据爬取出来,代码实现不在赘述,详细步骤可查看我的上一篇图文(

如何利用Python爬取网易新闻

), 由于 selenium3.11.0 版本已经停止对 phantomjs 的支持,现在可以使用 chrome 和 firefox 的无头模式实现该功能。

打开无头模式:

一个疑问:

使用 ubuntu 的 crontab 定时任务运行此爬虫脚本时,如果不打开无头模式,报错如下:

没能理解这个报错的原因,希望与大家一起讨论。

第二步:存储数据

数据库这次选择了 Mysql,首先需要建立自己的数据库,建立相应表格,这里推荐使用 Navicat,能够将数据库操作图形化。Navicat 需要做一些配置,网上有大量教程,建表时需要注意类型,选择正确的类型在后续使用时会减少很多麻烦,例如:

和类型

适用场景:

字符串列的最大长度比平均长度大很多

字符串列很少被更新

使用了多字节字符集存储字符串(如utf8中的中文和英文)

适用场景:

存储长度近似的值(md5值,如密码)

存储短字符串

存储经常被更新的字符串列

日期类型

类型:

以yyyy-MM-dd HH:mm:ss格式显示,占用4个字节

时间范围:1970-1-1 到 2038-01-19

类型:

以yyyy-MM-dd HH:mm:ss格式显示,占用8个字节

时间范围:1000-1-1 00:00:00至9999-12-31 23:59:59

插入数据

此时,数据已经静悄悄的待在数据库中了。

img01

第三步:利用echarts将数据可视化作图

针对这次的目标,折线图是最好的展现数据方式。数据库原始数据需要做出一定处理,根据具体用途处理就好。

:横轴数据

:纵轴数据

:添加数据作图

:设置纵轴刻度范围

:设置刻度精度

:主题颜色

:生成文件

img02

img03

第四步:crontab定时任务

观察了红岭创投网站一段时间后,发现只能显示近十分钟左右的即时数据,不可能每过几分钟手动点击程序运行,团队的小伙伴向我推荐了一个非常好用的指令, 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表,并且在后台运行,不会打扰到我们的学习和工作。

打开crontab:

界面如下(通过vim打开)

img04

基本格式

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

通常需要将 python 环境绝对路径,程序绝对路径写入命令,保证能正常运行。如果 没有运行,大概率的原因就在此,图中倒数第四行黄色部分就是运行爬虫的指令,最后部分是输出日志,将每一次运行的结果写进日志文件,以便检查运行情况。

第五步:smtplib 发送邮件

每天处理数据做出折线图后,将图片发送给团队老大, 是不错的选择,结合就能每天自动运行,成就感超强。

在邮件中添加附件:

到这里,任务就全部搞定了。怎么样,感兴趣的同学也可以按照思路来玩一下。今天就到这里吧,See You!

本篇图文由团队 余江银 同学提供,他的 CSDN Blog 地址为:

https://blog.csdn.net/YYYYYJY

经过8年多的发展,LSGO软件技术团队在地理信息系统、数据统计分析、计算机视觉领域积累了丰富的研发经验,也建立了人才培养的完备体系。

欢迎对算法设计与实现感兴趣的同学加入,与我们共同成长进步。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190109B1F4B100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券