阅读文本大概需要 3 分钟。

有很多读者知道我现在的工作是做爬虫,但大家对于爬虫的工作日常还不太了解,甚至都不知道爬虫是做什么的。所以逞元旦放假前夕,跟大家好好聊聊,爬虫工程师日常都是做什么。

一 爬虫工作日常

爬虫最终目的肯定是提供数据,就拿我自己日常上班所做的事来说,我们公司做爬虫的有两个。我们组是属于公司里的数据组,顾名思义专门提供数据的。我们提供的数据大致可以分成两类:1 算法组需要的数据,2 某个网站每天的数据。

第一类数据主要是爬取一些小型网站的数据,比如维基百科、百度知道和一些算法组想爬的网站。算法组把需要爬的网站 url 和具体想要的数据内容以及格式,跟我们数据组的人说清楚,那我们就可以开始着手写代码了。一般简单的网站一上午的时间就可以搞定,之后就是等爬虫把数据爬完发送给算法组就好。

第二类数据就是爬取特定网站的数据,每天都要爬,并且需要爬虫非常的稳定,这也是我们数据组核心工作内容。我们现在数据组最主要的工作就是维护这个 selenium 项目,完全用 selenium 来模拟一个人正常在浏览器上的操作。比如访问某个网站、输入账号和密码、点击图片验证码、获取手机验证码、点击链接、移动鼠标、拖动滚轮条、发送 js 请求等等。

二 随时面对网页改版

做爬虫有个天敌就是「改版」,只要对方的网站一改版,你所写的爬虫一定无法在继续使用。我刚工作的时候就非常幸运,遇到对方网站大改版,整个网页结构全部重构。而这个网站刚好是公司非常重要数据的来源,所以必须第一时间处理。那时候我才刚进公司没多久,就被老板叫去马上处理这件事。随后我用 xpath 整整写了 700 多行的解析函数。。。

爬虫天生的劣势就体现出来了,即爬虫方永远是被动方。你不知道你爬取的网站什么时候会改版,会改成什么样,有会添加哪些反爬错失。而且往往对方是一个团队在做反爬,而大多数做爬虫的都是独胆勇士。

三 破解各种反爬措施

如果要衡量一个人爬虫实力有多少,就看他反反爬的能力有多强。爬虫代码说起来非常的简单,无非是构造请求、获取数据、解析数据、存储数据。难就难在反爬这块,这也是最能体现爬虫工程师实力的地方。最常见的反爬有验证请求头和 ip 频率限制,稍微难点就是图形验证,需要你点击图片中正确的文字,再者就是极验的轨迹滑动,终极难的就是阿里的反爬。

而我们数据组工作的难点也是在这里,比如最近年底了,有很多网站都开始改版,反爬的措施也从最初的图形验证,改成了滑块验证,或者再加短信验证,甚至有个网站还加上了轨迹验证。。。

而这些反爬手段,做为爬虫工程师都必须要解决。关于如何应对各种反爬,我之后会写篇文章来好好讲一讲。

最后今天是 2018 年最后一天工作日,过完今天就迎来了元旦假期。在这里我怕说快乐被说没文化,说安康又被说跟风。就连元旦牛逼也开始烂大街了,所以我在这里祝大家元旦节暴富!

推荐阅读:

爬虫工程师日常都是做什么?相关推荐

  1. 运维工程师到底都在做些什么?

    我们群里最近讨论500台服务器安装系统的问题.我特意找了一篇高人写的文章来与大家分享,希望对大家能有所帮助哈!(以下为作者原文,未加任何修改哈) 看到chinaunix最近出的门户网站运维板块veyr ...

  2. 想转行前端,前端工程师每天都在做什么?

    很多小伙伴想入行.转行做前端开发,但是却不太了解前端工程师这个工作.前端开发是一个发展迅猛的职业,它的名头很大,但大多数人知之甚少.大家都说前端工程师越做头越秃,那么来看看前端工程师每天的日常吧: & ...

  3. 运维工程师一天的日常都在做什么?

    在公司负责Linux运维工作,就我一人,之前公司没有运维. 每天的日常,就是看B站,学习新的内容(主要是工位位置不好),逛一些论坛,还有接一些小活,写写脚本处理问题之类的,一个月也可以有个两千左右的额 ...

  4. 爬虫取中间文本_一线大厂爬虫工程师给初学者的 5 个建议

    爬虫是当今互联网使用非常广泛的技术之一,现已应用于金融.房产.贸易与科技等诸多领域.无论是大数据计算.数据分析还是机器学习,都离不开爬虫.爬虫工作在很多时候是企业业务开展的基础与主线,将爬取内容进行清 ...

  5. 路由交换hcip就业能拿到多少钱?一般都是做什么工作?

    网络工程师成长日记作者老郑,今天遇到一个朋友问我华为的路由交换hsIp就业一般是可以拿到多少钱,而且通常工资有没有发展的空间,以后再努力的话,大概能够拿到多少?网工记巧编来给大家整理一下. 一 华为路 ...

  6. linux运维工程师日常工作事务

    linux运维工程师日常都是什么工作? 1.操作系统状态监控 每天登陆系统查看系统运行的负荷如何,有无报错日志或报警日志. 2.操作系统故障排除 依据操作系统故障日志分析出现该报警或报错的原因,从而解 ...

  7. 厉害的Python工程师,都是怎么做学习规划的?超详细学习入门—精通教程

    随着Python的发展,已成为程序员能力模型中,非常重要的一个技能. 甚至BATZJ的工程师,都无可否认现在Python对于一个程序员职业发展的重要性. 但很多小白在面对"怎么规划未来Pyt ...

  8. 听说算法工程师80%的时间都在做特征工程?

    前言 想象一下,当今社会备受瞩目的人工智能和数据挖掘算法工程师每天大部分时间都在做什么呢?是花大量时间手推公式,还是思考各种trick对算法调参,还是一遍遍清洗数据和加工特征?实际上,大部分的数据挖掘 ...

  9. 运维工程师都在做什么

    首先先看图(怎样变成运维人): 看完之后觉得需要掌握的基础真多啊. 下面是运维工程师至少要能做以下的工作: 1,网络工程师的工作 你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网 ...

最新文章

  1. utf-8编码的中文注释 在 sourceinsight 显示乱码的解决方法---utf8 转gb2312插件
  2. ubuntu下修改文件夹权限
  3. 在CentOS上安装FFMPEG和Gstream-ffmpeg
  4. c语言用链表对学生成绩排序,学生成绩排序和平均分计算利用c语言链表的创建插入删除.doc...
  5. IIS7启动gzip压缩
  6. B站后台源码疑似泄露,作为程序员我们得注意哪些?
  7. 常用开关稳压电源(LM2596、MC3406)
  8. 三月校赛1006 wuli通通和Fibonacci (a[n]=f[n]*(n^m)的前k项和)
  9. CSS 权威指南 读书笔记(二)
  10. 10月更新!又一波新功能上线,升级后的EasyOps®简直神了!
  11. (王道考研计算机网络)第一章计算机网络体系结构-第一节计算机网络概述1:计网的概念、组成、功能和分类
  12. ADS2019如何导入 SPICE模型
  13. 检索式对话系统在美团客服场景的探索与实践
  14. 营销活动此起彼伏,KTV加盟宝乐迪再掀新浪潮
  15. 《比尔总动员》2013年7月11版别更新公告
  16. RTOS 系统篇-Tickless 模式简介与测试
  17. 操作系统—— I/O 相关知识
  18. OMP 设置线程的3种方法
  19. 网页分享到微信常见问题
  20. 第十七届全国大学生智能汽车华南赛区竞赛 - 流程册(文档)

热门文章

  1. yii2必须掌握php,Yii2框架中一些折磨人的坑
  2. 图片上传限制尺寸大小
  3. 苹果电脑怎么查看本机IP与MAC地址
  4. 题目 1084: 用筛法求之N内的素数(数论)
  5. 春节红包大战一触即发,QQ红包能否重塑游戏规则?
  6. Dataset:Medical Data and Hospital Readmissions医疗数据和医院再入院情况数据集的简介、下载、使用方法之详细攻略
  7. Linux 环境中直接替换jar包中的配置文件或者class文件避免重新打包
  8. 解决微信小程序不在以下 request 合法域名列表中
  9. 开通阿里云 OSS 服务
  10. MacOS Pycharm 配置 anaconda 环境