1.熟练掌握Python开发语言,具有良好的编码习惯,遵循PEP8代码编写规范
2.熟练使用Requests库爬取数据
3.熟练使用Scrapy和Scrapy-redis爬虫框架
4.熟练使用正则表达式、xpath等提取网页元素
5.熟练使用Selenium自动化工具爬取数据
6.熟练使用Fiddler、Charles等抓包工具
7.熟练掌握Linux(ubuntu)系统,熟练使用Linux命令,熟练使用Vim进行代码编写
8.熟悉HTTP、TCP/IP协议,熟练使用Socket进行网络通信
9.熟悉微信小程序开发,有小程序项目开发经验
10.熟练使用MySQL、Redis、MongoDB数据库,熟练运用SQL操作语句操作数据库
11.熟练使用Django、Flask 框架,
12.熟练使用SQLAlchemy进行数据库操作
13.熟练使用版本管理工具Git
14.熟悉RabbitMQ消息队列,熟悉异步调用框架Celery
15.熟悉HTML、CSS、JS、jQuery、ajax请求,能够实现简单的前端访问逻辑
16.注重代码的复用,关心系统的健壮性
项目一:爬取大众点评评论
项目描述 :爬取了大众点评点评评论详情、评论地点、评论时间、评论者以及打分和星
级,最后将数据保存到数据库中。
技术描述 :Requests + 正则表达式 + XPath + pymongo + lxml
项目难点 :
1.大众点评的评论是通过css文件进行字体加密的,即每一条评论里有一些字是通
过css进行渲染的。
2.通过分析找到css文件,里面包含的是所有加密字体的坐标和3个加密svg字体文件URL,使用 Requests请求得到这些字体文件,生成映射字典。
3.使用xpath和正则取得想要的数据,调用方法将加密数据进行解密。
4.最后将数据保存的MongoDB数据库中
项目二:爬取猫眼票房
项目描述 :爬取了猫眼票房的每日影片名、综合票房、票房占比、排片占比并存入Excel
表格中。
技术描述 :base64 + 正则表达式 + Requests + fontTools + lxml
项目难点 :
1.猫眼票房下的所有数字都是通过自定义字体进行生成的,并且每次请求得到的都是不同的字体文件,每次字体文件的字体编码和坐标会有差别。
2.通过分析找到字体文件,发现是base64加密,使用Requests请求数据,使用
正则提取字体URL进行下载,使用base64模块解密得到字体文件。
3.使用FontCreator工具解析字体文件,建立基础字体文件映射字典,之后使用
KNN算法思想将每次请求得到的字体文件与基础映射进行比较,差值最小的便是一个字。
4.最后通过lxml模块取出想要的数据,使用xlwt模块将数据保存到Excel中。
项目三:爬取网易云评论
项目描述 :爬取了网易云歌曲的热门评论和最新评论并存入Excel表格中。
技术描述 :Requests + execjs + JSON + xlwt
项目难点 :
1.网站的歌曲评论信息通过JS进行加密。
2.通过开发者工具找到我们想要的参数所在的JS,通过断点调试,逆向整个数据加密过程,取得加密 JS。
3.使用Requests请求得到加密数据,使用execjs执行解密JS,得到解密后的数据。
4.使用JSON转换解密后的数据,使用xlwt模块将数据保存到Excel中。