V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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 · 6812 views
    This topic created in 3590 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
        1
    namco1992  
    OP
       Jul 8, 2016
    有人能给点反馈么~[认真脸]
    Allianzcortex
        2
    Allianzcortex  
       Jul 8, 2016   ❤️ 1
    为什么都喜欢用 scrapy …… 果然我还要再学一遍……

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

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

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

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

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

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

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