任务要求:
爬取实习僧网站的招聘公司信息和职位信息,并存储到数据库中,对应的数据库表和需要爬取的字段见下面表一和表二(注意:爬取存在的字段)
代码以上传带github上:使用requests爬取实习僧网站数据
看一下爬下来的结果图:
公司信息:
职业信息:
1. 检查是否有api
无
2. 选择需要连接的数据库
mysql
3. 数据流分析
- 确定爬取的范围
部分页 - 切入源头
https://www.shixiseng.com/interns?k=&t=zj&p=1 - 多层网络结构间跳转流程
更改参数p进行爬取 - 范围细分
无
4. 数据采集
- 请求模块
requests - 解析工具
xpath - 数据存储
mysql - 爬虫效率提升问题
使用多协程
5. 反反爬虫
会有请求失败的问题:通过添加请求头解决
遇到的问题:
1. 在爬取的字符串数据中值需要一部分:使用split将字符串进行切割
2. 判断爬取的数据是否是你需要的:使用if判断a字符串是否在b中
3. 爬取停止:sys.exit('tingzhi')4.crontab定时任务:- 先vim /var/spool/cron/root (打开这个文件)- 添加任务:每天的第一个小时的第一个分钟执行1 1*** python /root/lezhi/爬取实习僧/spider_shixiseng.py- esc 之后 :wq保存退出**部署问题:**screen -x 20156 (打开后台状态为 Attached 且名称为 django 的 screen shell)vim 编译器: (冒号进入编译模式)q 退出w 保存i 编辑screen -X -S 4588 quit (杀死一个已经detached的screen会话 )