V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
snopy
V2EX  ›  问与答

爬虫能不能做这个一个需求

  •  1
     
  •   snopy · 2016-10-27 17:30:11 +08:00 · 2125 次点击
    这是一个创建于 2948 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近,公司网站上发了关于各种技术培训的帖子(包括 IT 架构、 Hadoop 数据分析...),每个帖子对应一种技术培训,如果想参加某类技术培训,公司员工只需在对应帖子下留言“报名”即可(当然跟帖是要求实名制的,所以自然会留下小马甲)。由于帖子众多,报名人数也很多,因此,人工统计汇总会变得很繁杂,而且会存在遗漏的风险。

    -----重点来了-----
    那么,我在想能不能通过爬虫的形式,每天爬取帖子中留言“报名”的员工姓名及其对应的培训技术类别,然后入库,以便于查询和汇总
    第 1 条附言  ·  2016-10-27 21:05:08 +08:00

    帖子的内容大概是酱紫的

    第 2 条附言  ·  2016-10-28 09:41:02 +08:00
    昨晚在网上看了相关资料,总结了下具体的技术实现,还望各位 pythoner 不吝赐教

    1 、爬虫怎么爬取要登陆的网站? [开源爬虫都支持在爬取时指定 cookies ,模拟登陆主要是靠 cookies 。至于 cookies 怎么获取,不是爬虫管的事情。你可以手动获取、用 http 请求模拟登陆或者用模拟浏览器自动登陆获取 cookie 。]
    2 、爬虫怎么抽取网页的信息? [开源爬虫一般都会集成网页抽取工具。主要支持两种规范: CSS SELECTOR 和
    XPATH 。]
    3 、爬虫怎么保存网页的信息? [有一些爬虫,自带一个模块负责持久化。比如 webmagic ,有一个模块叫 pipeline 。通过简单地配置,可以将爬虫抽取到的信息,持久化到文件、数据库等。还有一些爬虫,并没有直接给用户提供数据持久化的模块。比如 crawler4j 和 webcollector 。让用户自己在网页处理模块中添加提交数据库的操作。]
    13 条回复    2016-10-28 16:17:00 +08:00
    tumbzzc
        1
    tumbzzc  
       2016-10-27 17:34:08 +08:00
    可以。
    但是最好是严格匹配“报名”,然后进入有“报名”的员工的个人页,读取员工信息
    b821025551b
        2
    b821025551b  
       2016-10-27 17:41:06 +08:00
    可以,重点是如何匹配满足条件的用户,比如有个人回复了“我才不报名呢!”,该如何处理?
    xenme
        3
    xenme  
       2016-10-27 17:42:59 +08:00 via iPhone
    为啥不加个按钮,我要报名或者直接爬库,简单多了
    xjx0524
        4
    xjx0524  
       2016-10-27 17:45:13 +08:00
    这种需求不能单独做一个报名页面么。。。
    或者直接创建个 Google 表单
    tumbzzc
        5
    tumbzzc  
       2016-10-27 17:49:24 +08:00
    @xjx0524 这装的。为什么不考虑中国无法访问谷歌的问题?不如用问卷星
    zhouyg
        6
    zhouyg  
       2016-10-27 17:50:16 +08:00
    直接读数据库不是最快么
    snopy
        7
    snopy  
    OP
       2016-10-27 18:00:02 +08:00
    @all 其实我想咨询下具体点的技术细节,待会我到家了上个帖子的截图,谢谢
    why1
        8
    why1  
       2016-10-27 19:25:11 +08:00
    不用签字确认吗
    qiayue
        9
    qiayue  
       2016-10-27 21:17:59 +08:00
    直接金数据建个表单 jinshuju.net
    liudanning
        10
    liudanning  
       2016-10-27 22:12:03 +08:00 via iPhone
    https://github.com/liudanning/spider/tree/dev
    用 nodejs 和 jquery 的话可以尝试这个,可以看 test 里的示例用法, master 分支的太老没更新,用 dev 分支
    hanzichi
        11
    hanzichi  
       2016-10-28 11:08:05 +08:00
    肯定可以啊,不过要严格规定格式吧,不能无效灌水
    snopy
        12
    snopy  
    OP
       2016-10-28 13:49:05 +08:00
    恩,有人已经这么做了,参考 http://www.jianshu.com/p/448af630dd72
    alfer
        13
    alfer  
       2016-10-28 16:17:00 +08:00
    简单问题复杂化,你们自己公司直接读数据不就行了?
    如果就想用爬虫做也可以,例子也大把。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2900 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:11 · PVG 19:11 · LAX 03:11 · JFK 06:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.