1. 微医挂号网专家团队数据----写在前面

今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下。

安装起来是非常简单的

pip install pyspider

安装之后,启动 在CMD控制台里面敲入命令

pyspider

出现如下界面,代表运行成功,一般情况下,你的电脑如果没有安装 phantomjs 他会先给你安装一下。

接下来打开浏览器,访问地址输入 127.0.0.1:5000, 应该显示如下界面,就可以愉快的进行编码了~

3步创建一个项目

2. 微医挂号网专家团队数据----库基本使用入门

这款工具的详细使用,给你提供一个非常好的博文,写的很完善了,我就不在赘述了。咱们直接进入到编码的部分。

https://blog.csdn.net/weixin_37947156/article/details/76495144

3. 微医挂号网专家团队数据----爬虫源码

我们要爬取的目标站点是微医挂号网专家团队数据 网页地址https://www.guahao.com/eteam/index

分析AJAX链接地址,寻找爬取规律

经过分析之后获取到的链接为 https://www.guahao.com/json/white/search/eteams?q=&dept=&page=2&cid=&pid=&_=1542794523454

其中page参数最重要,表示页码,实际测试中发现,当代码翻页到 84页的时候,数据竟然开始重复了,应该是网站本身系统的问题,这个没有办法。

爬虫流程

获取总页数

循环爬取每页的数据

爬取总页数

在入口函数on_start的位置去爬取第一页数据,爬取成功之后调用index_page函数

from pyspider.libs.base_handler import *

import pandas as pd

class Handler(BaseHandler):

crawl_config = {

}

@every(minutes=24 * 60)

def on_start(self):

self.crawl('https://www.guahao.com/json/white/search/eteams?page=1', callback=self.index_page,validate_cert=False)

index_page函数用来获取页码总数,并且将所有待爬取的地址存放到self.crawl中,这个地方因为数据重复的原因,最终硬编码为84页数据了

@config(age=10 * 24 * 60 * 60)

def index_page(self, response):

doctors = response.json

if doctors:

if doctors["data"]:

page_count = doctors["data"]["pageCount"]

#for page in range(1,page_count+1):

for page in range(1,85):

self.crawl('https://www.guahao.com/json/white/search/eteams?page={}'.format(page),callback=self.detail_page,validate_cert=False)

最后一步,解析数据,数据爬取完毕,存放到 csv 文件里面

@config(priority=2)

def detail_page(self, response):

doctors = response.json

data = doctors["data"]["list"]

return data

def on_result(self,result):

if result:

print("正在存储数据....")

data = pd.DataFrame(result)

data.to_csv("专家数据.csv", mode='a', header=False, encoding='utf_8_sig')

完成的代码预览

回到主页面,此时看到任务列表显示了我们刚刚创建的任务,设置 status 为 running,然后点击 Run 按钮执行

执行完成后,点击 Results 按钮,进入到爬取结果的页面

等着就可以了

4. 微医挂号网专家团队数据----最后几步

Web UI 控制台上的 rate/burst 参数来调节速度,rate 是 每秒抓取的数量,burst 是并发的数量

pyspider 爬取完毕之后,你在点击run是不会在运行的。解决办法如下,停止 pyspider,找到下图的几个文件

project.db 和 result.db 两个文件不要删除,删除其他文件即可。

写完啦~ 得到了 ·1000·多个专家团队。

更多内容,欢迎关注 https://dwz.cn/r4lCXEuL

python爬虫专家_Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider-阿里云开发者社区...相关推荐

  1. python爬虫专家_Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. 安装起来是非常简单的 pip install pyspi ...

  2. python爬虫专家_Python爬虫入门教程:微医挂号网专家团队数据抓取pyspider

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. github地址: https://github.com ...

  3. Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. github地址: https://github.com ...

  4. python爬虫和医学数据_Python爬虫入门教程 24-100 微医挂号网医生数据抓取

    1. 微医挂号网医生数据写在前面 今天要抓取的一个网站叫做微医网站,地址为 https://www.guahao.com ,我们将通过python3爬虫抓取这个网址,然后数据存储到CSV里面,为后面的 ...

  5. Python爬虫入门教程 24-100 微医挂号网医生数据抓取

    1. 微医挂号网医生数据写在前面 今天要抓取的一个网站叫做微医网站,地址为 https://www.guahao.com ,我们将通过python3爬虫抓取这个网址,然后数据存储到CSV里面,为后面的 ...

  6. python爬虫之app数据抓取_Python爬虫入门教程 29-100 手机APP数据抓取 pyspider

    1. 手机APP数据----写在前面 继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教程 ...

  7. Python爬虫新手教程:微医挂号网医生数据抓取

    1. 写在前面 今天要抓取的一个网站叫做微医网站,地址为 https://www.guahao.com ,我们将通过python3爬虫抓取这个网址,然后数据存储到CSV里面,为后面的一些分析类的教程做 ...

  8. Python爬虫教程:微医挂号网医生数据抓取

    1. 写在前面 今天要抓取的一个网站叫做微医网站,地址为 https://www.guahao.com ,我们将通过python3爬虫抓取这个网址,然后数据存储到CSV里面,为后面的一些分析类的教程做 ...

  9. Python爬虫新手教程:微医挂号网医生数据抓取!

    1. 写在前面 今天要抓取的一个网站叫做 微医 网站,地址为 https://www.guahao.com ,我们将通过python3爬虫抓取这个网址,然后数据存储到CSV里面,为后面的一些分析类的教 ...

最新文章

  1. hive 学习之异常篇
  2. boost::mp11::mp_contains相关用法的测试程序
  3. learn opengl 中文_LearnOpenGL-CN
  4. 安卓APP_ Fragment(1)—— Fragment概念、基础用法、动态变换、管理栈
  5. s71200模拟量输入输出_模拟用户输入并检查输出的简单方法
  6. 关于《应用STATA做统计分析(原书第8版)》一书中`chart()‘语句问题
  7. duplicate database的时候,rman连接 auxiliary database的后状态不正确
  8. 转录组分析_肠道菌群:宏转录组测序分析流程解读
  9. 老李分享:《Java Performance》笔记1——性能分析基础
  10. bzoj2208:[Jsoi2010]连通数
  11. 博科光交机SNMP配置
  12. centos7 安装git_在PHP7.4里配置,源码安装swoole4.x,把swoole用起来
  13. iis7 下php 环境配置文件,IIS7.X配置PHP运行环境小结_php
  14. Python中Socket粘包问题的解决
  15. git代码上传详细步骤(初学者操作)
  16. Echars 如何描绘世界地图
  17. 修复win10右键卡死鼠标转圈
  18. 新浪微博开放平台站内应用开发流程直播(一)
  19. Kettle Carte模式
  20. 海信网络科技软件研发实习面试

热门文章

  1. maven安装及环境部署(IDEA)
  2. pfx私有证书转cer公钥格式证书
  3. C语言中实现bool(布尔型变量)
  4. linux配置网卡、修改主机名和映射文件(手把手配置)
  5. 如何解决终端连接数超过最大连接数
  6. Python基础 | Miniconda的安装
  7. 攻防世界 forgot
  8. ImportError: packaging>=20.0 is required for a normal functioning of this mo
  9. UE4 第三人称完全流程
  10. Webplus网站群管理平台介绍