本篇文章是使用 Python 抓取万家医疗上面的诊所信息,并且对关键信息进行分析,实现数据可视化。由于时间和能力的问题,能抓取的数据类型较少,分析的维度也不足。但是尝试去剖析在国家倡导分级诊疗的大环境下,移动医疗在社区诊所上的发展情况。所以抓取了万家医疗网站里面的诊所数据,并从诊所区域分布、科室类型以及是否支持医保上进行了数据分析和可视化。
准备工作
首先是开始抓取前准备工作,导入需要使用的库文件,爬虫主要使用的是requests和BeautifulSoup两个库,数据分析主要使用 Numpy 和 Pandas 两个库,外加 matplotlib 库实现数据可视化。
import requests
from bs4 import BeautifulSoup
import time
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
抓取诊所列表信息
在抓取前需要先观察下万家医疗诊所列表页面的的结构,URL为“"https://www.pinganwj.com/clinic/pa1”,其中 ”pg1”为页面数,共有846个页面,预计诊所有8460家左右,可以使用循环遍历所有的页面,获取信息。
#设置 url 的前面部分
url = "https://www.pinganwj.com/clinic/"
确定了 URL 链接之后,还需要设置浏览器头部(headers)信息,否则系统会识别爬虫程序,从而阻止访问页面。
#设置url的前面部分
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36',
'Accept':'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, /; q=0.01',
'Accept-Charset':'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
'Accept-Encoding&