用到的包:
- BeautifulSoup
- pymysql
- requests
- json
碰到的问题:
1.医生查询分页数据不能超过38页,超过无法返回数据
2.某些字段对应的html元素包含一些无效的class,导致通过BeautifulSoup获取不到该字段
3.按地区搜索医院列表的分页数据不能超过100页,超过返回的重复数据,导致需要手工删除hospital,department两张表code重复的记录
4.一个医生可能出现在多个科室,所以按科室获取医生列表并插入数据库时需要判断重复
5.按地区查找医院时,香港、澳门两个城市的地区查出来的是广东的医院,导致产生大量重复的医院,需要手工删除
6.患者评论数据分页数据 需要获取签名+时间戳才能取到下一页数据,并且未登录只能获取前5页数据,要获取所有数据需要登陆, 登陆以后最多能取60页数据
7.登陆页面需要滑动验证,如果不想花时间研究登陆,可以直接在浏览器中登陆一个微医账户,然后把登陆后的cookie保存下来传给request请求
附代码:https://github.com/xienb/weiyi.git