【Python 技能树共建】pyspider 框架的使用
pyspider 实战案例微医挂号网专家团队数据
今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider
,国人开发的,当然支持一下。
github 地址: https://github.com/binux/pyspider
官方文档地址:http://docs.pyspider.org/en/latest/
安装起来是非常简单的
安装之后,启动 在CMD控制台
里面敲入命令
出现如下界面,代表运行成功,一般情况下,你的电脑如果没有安装 phantomjs
他会先给你安装一下。
接下来打开浏览器,访问地址输入 127.0.0.1:5000
, 应该显示如下界面,就可以愉快的进行编码了~
3 步创建一个项目
微医挂号网专家团队数据----库基本使用入门
这款工具的详细使用,给你提供一个非常好的博文,写的很完善了,我就不在赘述了。咱们直接进入到编码的部分。
https://blog.csdn.net/weixin_37947156/article/details/76495144
微医挂号网专家团队数据----爬虫源码
我们要爬取的目标站点是微医挂号网专家团队数据
网页地址https://www.guahao.com/eteam/index
分析 AJAX 链接地址,寻找爬取规律
经过分析之后获取到的链接为 https://www.guahao.com/json/white/search/eteams?q=&dept=&page=2&cid=&pid=&_=1542794523454
其中page
参数最重要,表示页码,实际测试中发现,当代码翻页到 <font color=red>84 页</font>的时候,数据竟然开始重复了,应该是网站本身系统的问题,这个没有办法。
爬虫流程
获取总页数
循环爬取每页的数据
爬取总页数
在入口函数on_start
的位置去爬取第一页数据,爬取成功之后调用index_page
函数
index_page
函数用来获取页码总数,并且将所有待爬取的地址存放到 self.crawl 中,这个地方因为数据重复的原因,最终硬编码为 84 页数据了
最后一步,解析数据,数据爬取完毕,存放到 csv 文件里面
完成的代码预览
回到主页面,此时看到任务列表显示了我们刚刚创建的任务,设置 status 为 running,然后点击 Run 按钮执行
执行完成后,点击 Results 按钮,进入到爬取结果的页面
等着就可以了
微医挂号网专家团队数据----最后几步
Web UI 控制台上的 rate/burst 参数来调节速度,rate 是 每秒抓取的数量,burst 是并发的数量
pyspider 爬取完毕之后,你在点击 run 是不会在运行的。解决办法如下,停止 pyspider,找到下图的几个文件 project.db 和 result.db 两个文件不要删除,删除其他文件即可。
写完啦~ 得到了 ·1000·多个专家团队。
版权声明: 本文为 InfoQ 作者【梦想橡皮擦】的原创文章。
原文链接:【http://xie.infoq.cn/article/254def3750e88daf8759ead3a】。文章转载请联系作者。
评论