推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
namco1992
V2EX  ›  Python

拉勾网 python 相关职位爬取以及分析展示,希望各位批评指正

  •  
  •   namco1992 · Jul 7, 2016 · 7259 views
    This topic created in 3773 days ago, the information mentioned may be changed or developed.

    个人练手的小项目,主要逻辑如下: 利用 scrapy 框架对拉勾网上的职位进行抓取,数据存储至 mongodb 中,后续进行进一步分析导出 json 格式数据,利用 fabric + 定时任务上传更新数据至服务器,完成自动部署。目前仅做了对 python 相关职位的抓取。

    至于抓取回来的数据,其实并没有做什么分析,只是归类展示。对于关键词的整理,算是用了比较 trick 的方法,通过正则匹配出所有英文单词,排除掉某些不需要的词组,然后进行词频的排序,得出了一个高频关键词的结果。但是这个不算是方法的方法,势必会遗漏掉某些可能是通过中文描述的关键词组,所以还望有经验的前辈指教。

    数据展示网站示例:http://107.170.207.236/job_analysis/(就是台 DO 的 5 刀服务器,各位高抬贵手)

    数据展示项目地址:https://github.com/namco1992/job_analysis

    爬虫项目地址:https://github.com/namco1992/lagou_crawler

    本人前端苦手,现在只是做了一个非常简陋的展示,没有做更进一步的分析。也希望感兴趣的朋友能提些不同维度分析的建议,当然也非常欢迎直接提 issue 或者 Pull Request 。

    我个人想到的还有通过地域维度分析薪酬情况,或者增加更多类别的工作岗位抓取。也希望大家有其他想法的话能够不吝赐教。

    最后,如果能给个 star ,那就是对我莫大的支持了。再次感谢!

    28 replies  •  2016-07-19 17:04:39 +08:00
    namco1992
    namco1992
    OP
    Jul 8, 2016
    1
    有人能给点反馈么~[认真脸]
    Allianzcortex
    Allianzcortex
    Jul 8, 2016❤️1
    2
    为什么都喜欢用 scrapy …… 果然我还要再学一遍……

    我当时专门在虚拟机里装了 Fiddler 来分析拉钩,其实网页链接是挺奇葩的,比如正常的职位显示是在网页上就能得到,但有些需要专门 Post 个请求来得到 JSON 数据。

    关于词频显示,我用的是 jieba ,但效果不好,用正则来匹配就很棒啊。已 star

    我是一直没有在数据库里进行存储,这点要向楼主学习

    ==啊,我把我当时写的也放到 github 上,就是里面的一个 res.json 数据
    Allianzcortex
    Allianzcortex
    Jul 8, 2016
    3
    namco1992
    namco1992
    OP
    Jul 8, 2016
    4
    @Allianzcortex

    词频的话,我当时就想应该绝大多数技术要求的关键词都是英文单词,所以索性就用正则匹配出来了,就是有个问题,英文描述的工作职位就没有办法抓取到对应的关键词。

    然后存在 mongodb 里面主要是为了分析方便,工作职位信息相对来说时效性没有那么强,在一段时间内都有分析价值。

    我看了你的 repo ,感觉你的点子更棒啊~
    Allianzcortex
    Allianzcortex
    Jul 8, 2016
    5
    @namco1992 不是谦虚,真的写的渣,刚刚才 Push 上去的代码。怎么说,看到拉钩上的职位都是 qianduankaifa,houduankaifa 这种后缀,真是觉得……擦擦擦
    jinfeng333
    jinfeng333
    Jul 8, 2016
    6
    不错 已经 star 最近也在玩儿爬虫 学习了
    namco1992
    namco1992
    OP
    Jul 8, 2016
    7
    @Allianzcortex 我都是遍历的...第一次统计都需要爬两百万个页面...
    xiaoyu9527
    xiaoyu9527
    Jul 8, 2016
    8
    @namco1992 拉手并没有封 IP 的问题么?
    namco1992
    namco1992
    OP
    Jul 8, 2016
    9
    据我所知没有封 IP ,也不知道拉勾的人上不上 V 站,不过还是低调点好
    practicer
    practicer
    Jul 8, 2016
    10
    拉钩的请求速度怎么样?楼主有统计爬虫的速度嘛?
    namco1992
    namco1992
    OP
    Jul 8, 2016
    11
    还 ok ,我就是在自己普通 PC 上跑的,大概每分钟 300 个页面。 python 相关职位接近 4000 个,爬起来还是比较快的。
    zoudeze
    zoudeze
    Jul 8, 2016 via Android
    12
    突然间感觉 do 访问好快啊
    GreatMartial
    GreatMartial
    Jul 8, 2016 via Android
    13
    支持一个
    jzp113
    jzp113
    Jul 8, 2016
    14
    看到了保健按摩。
    namco1992
    namco1992
    OP
    Jul 8, 2016
    15
    @jzp113 哈哈哈,被发现了。之前做的 side project ,不过反正是做给国外用户的,不算犯法吧[doge]
    namco1992
    namco1992
    OP
    Jul 8, 2016
    16
    @zoudeze 旧金山的线路,偶尔还是会抽风访问不了
    slysly759
    slysly759
    Jul 8, 2016
    17
    都是 json 格式的 我原来也写过一个 当时就爬了一万条的样子 也是放在 mongodb 用别人的 BI 做的可视化 没什么难度
    pepesii
    pepesii
    Jul 8, 2016
    18
    额,我也做了一个!比你的那个丑!还是我的毕业设计!
    jzp113
    jzp113
    Jul 8, 2016
    19
    @namco1992 不错,中国的有吗?
    namco1992
    namco1992
    OP
    Jul 8, 2016
    20
    @jzp113 哈哈,别想了兄弟,没有中国的
    wslsq
    wslsq
    Jul 8, 2016
    21
    楼主做的还不错!赞!期待能制作一个前端方面的,谢谢!
    namco1992
    namco1992
    OP
    Jul 9, 2016
    22
    @wslsq 可以啊,有时间就多做几种职位,你也可以 fork 回去自己做~
    R4rvZ6agNVWr56V0
    R4rvZ6agNVWr56V0
    Jul 9, 2016
    23
    很酷的 idea
    R4rvZ6agNVWr56V0
    R4rvZ6agNVWr56V0
    Jul 9, 2016❤️1
    24
    提个小建议哈,楼主可以基于招聘网站需求,搞个“技术雷达”,分析下,排除语言条件外,用啥具体的技术, offer 会更高
    namco1992
    namco1992
    OP
    Jul 10, 2016
    25
    @GeekGao 多谢建议~
    heamon7
    heamon7
    Jul 10, 2016
    26
    非常赞!
    namco1992
    namco1992
    OP
    Jul 10, 2016
    27
    @heamon7 谢谢鼓励~
    Toddz
    Toddz
    Jul 19, 2016
    28
    想问下有添加什么反反爬虫措施吗? 几个月前自己用 requests 写的爬虫现在又试了试差不多 20 页左右就被封了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5120 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 06:18 · PVG 14:18 · LAX 22:18 · JFK 01:18
    ♥ Do have faith in what you're doing.