crew change小结

1.这两天倒班,申请了飞马来西亚槟城的航班,主要考虑的是旅行时间(晚到优先),入境政策,生活成本,而大马政府也没有拒绝我的签证申请,甚为感激!同事都很理解表示惋惜,offshore seismic的小伙伴最重视的就是和家庭的团聚时间,与普通人相比,没有人比我们更理解family time的重要性!
2.用原来购买的积分兑换double tree,成本40美金一晚,扣除每晚的1000积分反馈,合35美金一晚,金会员还有早餐,性价比还可以。如果有家人助力可以两个账户互切,成本可以低至25美金,可惜没家里人支持配合无法操作。
3.打开招行app准备兑换美金才想起来现在是非交易时间段没法兑换。看了下汇率,近期工资缩水板上钉钉了,人民币大概率短期升值一波,一年内升破6.8也很容易。疫情可控+政策刺激政策强预期,股市是个很好的指向。
4.今早上终于收到了我的塞浦路斯海员证,一波三折。
5.最近一个月收到了四位BOSS直聘招数据分析师的邀请,当然都被我婉拒了,因为我知道自己水平还不够[呲牙]但是,前景是很好的。感谢前东家的裁员,算是因祸得福吧,有机会转变下轨道。2.8-25号,我在船上做了四个数据分析小项目练手,逐步进入正轨,有很长一段时间每天连续工作16+小时。渐入中年,以后要加强锻炼了,这也是未来的奋斗目标,增肌增肥,确保每天一小时健身。
6.借用下做的上市A股公司城市排名的词云图,对于打工者来说,平台,才是最重要的。北上广深杭,不只是因为你们的能力强,更重要的是你们的平台更给力!任何时候职场人士都要考虑平台的重要性。

pandas read_html+beautifulsoup爬虫中国产业研究院2019年三季度3688家上市公司的季报信息

今天靠港避风,大风浪对我的进度影响不大,风浪中昏睡半天后生产力反而更强大了。
两天一个小项目,今天完成了爬取3688家上市公司的2019年三季报基本信息,目标网站中国产业研究院,入门级爬虫先找个软柿子吧,目前还没研究验证码和模拟登陆。轮子造好之后可以顺利爬取N多年的季报和年报基本信息,爬完处理下可以出个小分析报告了。
还是老样子,笔记本上调试完代码爬出来输出到mysql中,因为远程v p n没有设置好mysql索性输出到了csv文件,也方便索引。
船上的龟速导致我昨天晚上代码老是掉链子,经常容易read timeout,设置了retry也不行。今天完善了下代码框架,增加了user-agent随机性,并加入了高质量的proxy(高质量vpn五个),虽然速度慢了但是稳定性加强了,可以hands free模式了。本地笔记本10秒左右有时候好几分钟,远程机器因为网速快也就3-5秒一页(太快了不稳定)。
这次用了新的方案,pandas 的read_html特别适合处理表格,+beautifulsoup解析。
图一中国产业研究院,图二mysql数据表,图三vbn代码运行,图四笔记本代码运行。100
多行代码,以后可以轻松爬各种表格形式的数据了。

pyPDF2办公利器

昨天还是风平浪静,今天就开挂了,虽然离开了工区,但是风浪依旧很大,老船员down for weather了。
网速更是慢的啥都干不了,合并了个pdf,就晕的不行了。安利个pyPDF2,合并pdf比网上带水印的强多了,普通应用够了,还能批量处理。

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")