Giter Club home page Giter Club logo

recruit's Introduction

Recruit

2017-07-07 更新

似乎我的IP已经被拉勾网彻底封了,代理的IP也无法请求,在此望大家引以为戒,小心使用爬虫,真的会给对方带来负担。

一. 功能

  1. 根据提示输入关键字搜索相关职位信息,并将信息部分呈现出来。
  2. 程序根据搜索得到的信息绘制成图像,供用户观看或使用
  3. 提供每个职位招聘信息的URL,用户可点击URL进入网页,查看招聘的详细信息。
  4. 程序根据得到的数据自动的进行一定的分析,并展现给用户(难度较大,目前不知道如何做)
  5. 导出EXCEL文件(如果不满意程序中的图形,可直接使用EXCEL强大的绘图功能绘制漂亮的图形)

Ps: 程序应该是一个图形用户界面,使用pyQt5

二. 特性

  1. 使用多线程爬虫(可能有问题,正在想办法解决),多态的方式组织爬虫类,可以按需更改爬虫网站,只需重写少数几个方法即可
  2. 使用python数据分析库实现简单的数据分析
  3. 文件存储成CSV格式或者数据库,用户可自行提取(文件在/resource 里)并导入到文档处理软件(例如excel)
  4. 图片也采用直接存储到文件里的方式,同样,用户可以使用
  5. 使用代理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 : 寻求同学共同完成,有兴趣的同学随时联系,在此谢过。

recruit's People

Contributors

yeonon-wyy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.