pyspider 爬取结果 mysql_pyspider爬取王者荣耀数据(下)

pyspider爬取王者荣耀数据(下)

前言

本篇来继续完成数据的爬取。离上周文章已经过了一星期了,忘记的可以回顾下:《pyspider爬取王者荣耀数据(上)》

上篇文章中写到的,无非就是头像图片的懒加载是个小困难点,其余部分,操作起来使用网页自带的 css 选择器很好选择。

pyspider爬取数据

1.完善上周的代码

右侧是完善的代码,将具体的目标爬取了下来,并且可以看到左侧上方已经输出了响应的内容。

写完代码后,别忘了点击右上方的 save 按钮。(具体代码文末有获取方式)

2.pyspider启动爬取

写好了代码后,如何去启动此爬虫呢?

首先回到配置任务的界面,画红线是我现在编写的任务:

可以看到有个 status 栏,你需要将此状态换成 debug 或者 run 才行。

点击 run ,即可运行,同时progress的进度条也会变颜色:

3.获取数据

pyspider的数据落地,也很好的帮我们实现了,只需要点击 results ,便可以看到,目前有三种不同的方式,由于本次数据没有多大的量,所以直接用 csv 下载即可。

对于一些字段来说,我在程序中将他们封装成了 dict 的形式,所以 csv 中有些列是以字典的内容存在的,我想要的是最后以 excel 的形式展示,所以这里自己写个程序处理一下。(后面写篇 excel 单独处理的文章)

4.关于数据落地于数据库中

如果当你的数据量异常大的时候,那么肯定不能使用框架提供的 csv 等来存储数据了。

此时的做法,引入相应的数据库即可,以 mysql 为例。下面提供一个编程的思路,无代码。

在 pyspider 提供的 Handler 类中,可以自行实现一个 init 方法(学过面向对象的同学应该不陌生),在此方法中,对连接 mysql 数据库的操作进行初始化,生成一个实例对象变量 db。

这样一来,在 detail_page 函数中,我们便可以用 self.db 的方式来对 mysql 实例进行入库操作。

总结

pyspider爬取的入门教程,到此结束。

在此次爬取中,图片的懒加载可以注意下,找到对应js即可。

对比一下用框架来爬取数据,和我们自己写代码的区别:

当我们自己写爬虫时,你需要清晰地知道自己的爬取目标是什么,以此来规划自己的爬取流程,根据流程,一步步定义出具体的函数。同时,你还需要自己构造对应的请求函数,比如利用 requests 模拟请求等。。

当我们使用框架时,爬取流程的结构代码,框架来实现,不用我们自己去写,请求服务端的函数,框架帮我们实现,我们只需要将自己的注意力放在如何爬取目标即可,数据落地同理。

有想要看 pyspider 源码的同学,后台回复 pyspider 即可获得。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值