似乎我的IP已经被拉勾网彻底封了,代理的IP也无法请求,在此望大家引以为戒,小心使用爬虫,真的会给对方带来负担。
- 根据提示输入关键字搜索相关职位信息,并将信息部分呈现出来。
- 程序根据搜索得到的信息绘制成图像,供用户观看或使用
- 提供每个职位招聘信息的URL,用户可点击URL进入网页,查看招聘的详细信息。
- 程序根据得到的数据自动的进行一定的分析,并展现给用户(难度较大,目前不知道如何做)
- 导出EXCEL文件(如果不满意程序中的图形,可直接使用EXCEL强大的绘图功能绘制漂亮的图形)
Ps: 程序应该是一个图形用户界面,使用pyQt5
- 使用多线程爬虫(可能有问题,正在想办法解决),多态的方式组织爬虫类,可以按需更改爬虫网站,只需重写少数几个方法即可
- 使用python数据分析库实现简单的数据分析
- 文件存储成CSV格式或者数据库,用户可自行提取(文件在/resource 里)并导入到文档处理软件(例如excel)
- 图片也采用直接存储到文件里的方式,同样,用户可以使用
- 使用代理IP的方式爬取拉勾网的数据(拉勾网的反爬比较厉害,会暂时封掉频繁操作的IP)
Ps: 拉勾网的反爬虫机制是有原因的,这也是在提醒我们这些有事没事就写爬虫拿他们做测试的“玩家”不要太“过分了”。所以各位在爬取拉勾网的时候不要太‘快’了(服务器压力大,他们的程序员也不好过哈,大家不用互相为难最好)
- python
- requests (用于爬虫)
- BeautifulSoup (用于提取数据)
- threading (用于支持多线程爬虫)
- matplotlib (用于绘制并生成图像)
- pandas (用于数据处理,使matplotlib方便绘图)
- sqlite3 (速度较快的的小型数据库)
- xlwt (支持导出EXCEL文件)
- pyQt5 (著名的C++框架Qt 的python版本吧,用于GUI部分)
上图是初始界面,在位置输入框输入要搜索的位置,如果不输入,则默认是北京,关键值就是需要搜索的职位关键字,比如C++,爬取界面数目大小可以自定义,最大100,最小1。左下方的两张分析图用于分析刚刚搜索到的数据,右侧是职位名称,双击可打开链接,通过浏览器进入详细介绍的界面
从图中可以看到一个进度条,显示爬取的进度,用户切勿点击多次
这就是双击职位名称后跳转到的界面,现版本使用的是智联招聘和拉勾,但是分开搜索,因为存在相同职位在不同网站发布招聘信息的情况。
这是第一个版本,目前功能较少,界面比较难看(哎。。。UI麻烦啊),但是核心部分已经基本完成(爬虫,基本界面,生成数据分析图),且项目结构应该问题不大,未来应该只需要往上增加功能就行了。
连续写了4天,快40个小时,肝不行了,先暂停吧,以后再写。
Ps : 寻求同学共同完成,有兴趣的同学随时联系,在此谢过。