beautifulsoup中国医疗保险网爬虫

突然想分析下这次疫情影响和国内医疗资源分配的关系,小试牛刀,在笔记本上把代码调好后在vpn上跑了起来,速度自然是快了很多。
爬取的中国医疗保险网,比较官方,这个网站有个坑,我分析它的html页面时发现网站有隐藏元素,政策浏览看不到医院的联系方式(地址,联系电话,网站,邮件),这个就是给爬虫者挖的坑。但是即便知道有坑我还是跳了,联系方式重要性不言而喻。被封了ip再说,手里有三个vpn+笔记本,估计能爬完1529页(30580家医院的信息)。爬完清洗下数据,做下分析再晒图。
代码虽然不长,但是花了我很多时间,最近牺牲的休息时间太多了。最大的坑就是那个隐藏元素不知道怎么有效地提取出来,网页上显性的东西都在html数上比较清晰,深度不算深,方便索引出来。
图一是笔记本上的代码缩略图,2-4是vpn上跑代码图,估计需要一两个小时吧!虽然代码花了一两天,但是远远比人工复制粘贴1529页容易太多。
代码采取了几个简单的反爬策略,即vpn,header设置(time out时间,浏览器伪装等,)随机休眠时间,出错应对策略等。对于比较简单的网站基本上够了。
图五是爬取的第一页,信息还算详细。完事了清洗下数据可以用pyecharts做个图做个可视化。数据有偿可取,请我吃顿饭即可[呲牙]

如何在Jupyter Notebook直接输出(render)图片

http://pyecharts.org/#/zh-cn/render_images

官网虽然有介绍,但是思路不清晰,没有分类的step-by-step,我一通乱撞终于弄好了。最后参考:

  • 我们的目的是实现:
  • make_snapshot(snapshot, '2019-nCoV 数据一览.html', "2019-nCoV 数据一览.png")
  • $ pip install pyecharts-snapshot
  • $ pip install snapshot-selenium

Usage details

Command line options:

$ snapshot output.html [png|jpeg|gif|svg|pdf] [delay] [pixel ratio]
make_snapshot(snapshot, chart_function().render(), "outputfile.png")

Jupyter Notebook中显示多个输出和pd.to_csv中文乱码问题

Jupyter Notebook的一个优点是它实质上是Ipython的延申,Notebook里面输出的格式非常好,但是如果有多个输出就不行了。上面的网页介绍了一个tip,当然也有办法永久改变这一点。

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
In Windows, the steps below makes the change permanent. Should work for other operating systems. You might have to change the path.

C:\Users\your_profile\\.ipython\profile_default
C:\Users\xuzhen\Anaconda3\pkgs\ipython-7.12.0-py37h5ca1d4c_0\Lib\site-packages\IPython\core\profile  (我的情况)
Make a ipython_config.py file in the profile_defaults with the following code:

c = get_config()

c.InteractiveShell.ast_node_interactivity = "all"

pandas 之 to_csv 保存数据出现中文乱码问题及解决办法

使用 df.to_csv(file_name2, encoding=’utf-8′) 后还是编码有问题

使用 df.to_csv(file_name2, encoding=’utf_8_sig’) 后中文乱码问题解决了

df.to_csv(file_name3,encoding="utf_8_sig")
df.to_csv(file_name2,encoding="utf_8")

Cov-2019全球疫情实时仪表盘(python+pyecharts)

不说废话,先放图,稍后更新流程。其实这是两个项目,仪表盘那个主要是借鉴了一个大牛的帖子,不得不说牛人太多了。有时间整理下两个脚本,上传到github,每个脚本都差不多400行。

这几天付出没有白费,昼夜赶工出来的,作为小白膜拜下Python大佬们!继续努力,不需在意别人的看法。

Anaconda环境变量设置+mysql基本操作学习

  1. 重新安装anaconda后出现了环境变量引起的问题,解决办法:

https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/20/conda/

conda config –show envs_dirs

更新conda后解决问题。

  • 2. mysql搭建很久了,最近拿出来练习了下。笔记本处理个几百万行*20列的文本没有任何压力,以后可以拿来处理下SPS数据了