熟练使用flask框架进行web项目开发,对其他python web框架有一定的了解;
熟练使用scrapy框架, 能熟练对接scrapy_redis,创建分布式爬虫;
熟练的使用scrapy框架和scrapy_splash对接, 完成动态页面的渲染;
掌握re、xpath和beautifulsoup对爬取内容进行提取;
熟练使用Python语言编程和Python面向对象思维, 熟悉Python常用模块;
熟悉Linux常用命令,能熟练的在linux下部署爬虫项目;
熟悉 MySQL,postgresql,MongoDB、Redis数据库;
对前端技术,如HTML, CSS, JAVASCRIPT有一定的了解等;
项目名称: 安全态势感知系统 | 2020.5-2020.12
开发工具:Python3.8/pycharm/ flask/postgresql/mongodb/redis
责任描述:
根据项目需求,对项目进行环境搭建;
使用flask的contentmanager装饰器对数据库进行上下文自动管理,实现数据库的自动添加、自动更新和事务回滚功能;
使用flask-SQLAlchemy创建ORM模型,构造模型基类,完成任务信息的保存和爬取结果的保存,提高代码的维护性;
4. 使用redis缓存sessionid, 保存用户的登录信息, 实现用户的登录信息唯一保存;
5. 使用flask-SQLAlchemy创建爬虫任务的ORM模型,构造模型基类,完成新增爬虫任务的保存,提高代码的维护性;
6. 使用nginx和uwsgi协同部署该项目到linux上;
7. 使用git版本控制器,完成项目版本控制。
项目名称: 银河三号app监控系统 | 2020.12-至今
开发工具:Python3.8/pycharm/flask/ requests/mysql/redis
责任描述:
根据项目需求,对项目进行重构以及重构环境的搭建;
编写dockerfile, 打包docker镜像;
使用scrapy框架,对常见的应用市场进行有关平安应用进行爬取;
使用mysql对爬取下来的信息进行保存, 以及使用mysql对web和spider进行对接;
使用Python3.8对Python2.7项目的代码进行重构与优化开发;
使用断点续爬,解决爬虫程序重启或崩溃之后,数据库中的内容还在,爬虫程序还可以继续爬取;
项目名称: 国家统计局爬虫 | 2019.3-2019.8
开发工具:Python3.6/pycharm/centos7.4/mysql/scrapy/scrapy-redis/requests
责任描述:
根据项目需求, 分析网站源码, 设计爬虫思路, 设计爬取逻辑;
2. 通过chrome浏览器的开发者工具, 抓包分析网址, 发现网站左侧指标是post请求, 数据是get请求;
3. 通过拼接post请求的参数, 发现使用get带上参数,也可返回数据;
4. 使用fake_useragent的User_Agent模块伪装, 模拟浏览器访问统计局网站;
5. 使用ip代理, 防止本地ip被封禁, 维护ip代理池;
6. 使用python定时器, redis保存指纹, 做增量式爬虫;
项目名称:爬取政府网站 | 2019.3-2019.8
开发工具:python3.6/pycharm/centos7.4/scrapy/redis/mysql/docker
责任描述:
根据项目需求,设计爬虫抓取逻辑并实现代码开发。分析网站页面源码,设计爬虫思路;
2 通过抓包工具, 分析得出中国知网部分数据是通过xml发送的;
3.使用fake_useragent模块, 伪装浏览器请求头, 隐藏爬虫身份;
4. 爬取免费代理网站, 提供ip, 隐藏自身爬虫, 防止本地ip被封, 维护ip代理池;
5. 使用scrapy_redis搭建分布式爬虫;
项目名称: 快易车爬虫 | 2018.5-2018.7
开发工具:Python3.5/pycharm/centos6.6/ requests/scrapy/scrapy-redis
/mongodb/redis
责任描述:
根据项目需求,设计爬虫抓取逻辑并实现代码开发。分析网站页面源码,设计爬虫思路;
使用scrapy框架,利用链接提取器LinkExtractor提取网页中的目标链接和URL的去重,构建分布式爬虫,提高爬虫效率;
利用xpath、re对爬取网页的原价、现价、图片、名称、行驶年限、行驶公里数等进行提取;
使用scrapy对接selenium获取cookie,解决ip和cookie绑定的问题;
使用断点续爬,解决爬虫程序重启或崩溃之后,数据库中的内容还在,爬虫程序还可以继续爬取;
使用docker完成该二手车爬虫程序的分布式部署
项目名称: 快易车后台管理系统 | 2017.8-2018.2
项目简介:该项目是为了方便商家管理车辆信息而建立的, 主要包括了商家管理模块和车辆的信息的增删改查模块。
开发工具:Python3.5/pycharm/centos6.6/ flask0.1/mysql/session
责任描述:
对接阿里云短信服务api接口和wtform技术完成商家管理模块相关业务进行验证;
2. 使用flask的contentmanager装饰器对数据库进行上下文自动管理,实现数据库的自动添加、自动更新和事务回滚功能;
3. 使用flask-login,在用户模型中实现is_authenticated来对商家登录状态的检验,用户模型类继承 UserMixin类作为未登陆时的用户模型,保持代码的一致性;
4. 使用flask-SQLAlchemy创建商家管理和车辆信息的ORM模型,构造模型基类,完成商家注册信息的保存和车辆信息的保存,提高代码的维护性;
5. 使用nginx和uwsgi协同部署该项目到linux上;
6. 使用git版本控制器,完成项目版本控制。
项目名称: 抓取车保网汽车用品信息 | 2017.3-2017.5
开发工具:Python3.6/pycharm/centos7.4/ scrapy/scrapy-redis/mysql/redis
责任描述:
根据需求,分析反爬机制以及源码,设计爬虫抓取逻辑;
使用twisted异步IO框架,实现对爬取的数据进行异步写入;
使用xpath和re对网页中的产品名称和用户评论进行提取;
存储Request请求,同时每次下载前会检查请求指纹,防止重复下载,避免资源浪费,实现断点续爬;
维护爬虫代码