下面任选一题,或者有自己的想法也可以在教练的指导下另外选题。
假如我想把 xkcd.com 上的所有漫画图片爬下来。能写一个 Python 脚本完成吗?
提示:
- 页面的链接有什么规律?
- 如何用 Python 循环和字符串拼接遍历所有的链接?
- 漫画图片的选择器是什么?
- 如何用 Python 提取
<img>标签的src属性? - Python 如何保存文件?
- 保存多个文件如何命名?
- 输出些什么让你知道程序正在运行?
进阶:
每个图片都有一个 title 属性,能否把它也顺便保存下来?
从任一招聘网站(智联,前程无忧,拉勾等)上爬取自己未来想要从事的若干个岗位的数据,将这些数据清洗、加工、整理,并绘制相关图表来比较行业、公司规模、工作年限、地区等因素带来的薪资差异。
- 基本流程:探索数据格式 --> 设计爬取策略 --> 爬取数据 --> 加工数据 --> 分析数据、绘制图表
- 部分网站存在反爬机制,如果在爬取策略上遇到困难,尽早寻求教练的帮助,这部分的技术含量很高。
- 如果数据是来自HTML解析,先观察页面,尽可能多地挖掘信息。
- 如果数据来自JSON,梳理出数据的结构,识别可用的信息。
- 有些数据是有一定格式的文本,比如 "省-市-区-街道"这样的格式。观察规律,把它们分离出来。
- 将清洗加工完毕的数据保存成csv或xlxs文件,再从文件中读取数据,进行可视化操作。
- 数据可视化,有多种选择,最常用的基础图表是折线图、直方图和饼图。折线图反映趋势(比如平均薪资随工作年限的变化),直方图分组对比(比如不同城市、不同岗位的平均薪资),饼图可以展示比例(比如不同城市的同一岗位的需求比例)。可视化的部分,应该至少包含这三种图表。
- (进阶)使用高德或百度地图的API,将地理位置信息标准化,绘制职位分布地图/热点图。
- (进阶)爬取面试评价,并通过NLP分析情感,从面试评价来给每个公司打分
- (进阶)爬取岗位相关的公司的各种信息