上次提到“爬虫”这个词,已经从单纯的动物指代,变成了“采集网络数据”的新时尚词汇。也提到了网络协议三要素:语法、语义、时序。开始把一个个爬虫程序理解为一个个网络机器人,那么接下来就再简单说一说机器人可能会遇到哪些困难。

首先,键盘、鼠标、眼球捕捉仪等计算机的外接设备,对于爬虫来说都不是问题。同样的,信息的实际载体也不会是大问题。比方说,很多内容是通过浏览器看到的,还有不少好玩的是需要在移动设备上安装App,即应用程序。都不是问题。

其中,凡是通过有线、无线连接的设备,自然就能有工具去解析出数字信息。此外,浏览器、应用程序、软件,一般是以为就运行在某台物理机器上,像是电视、手机、平板电脑之类的。实际上,他们是依附于操作系统的,像是微软、塞班、安卓、苹果、鸿蒙等等。只要是在操作系统内,就有非常多的工具可以使用去进行行为模拟了,比如自动化测试工具。

轻松登陆了信息的实际载体这个阵地后,爬虫的下一步计划就是“挖矿”啦!读取信息,或者有选择的读取所需的信息。

网络信息的表达方式通常都很直接,是“公布天下”式的。不信?大可以在浏览网页时,通过鼠标右键查看源代码,经常会发现网页的文本、加载处理的脚本、字体来源、针对特殊群体的无障碍功能设计等等。爬虫可以随意访问到这些信息。

对于可以随意访问的网站,爬虫可能就真的是排山倒海般随意访问起来了,这对网站的建设工程师们来说可不是什么好事情,所以,在随意访问的基础上,往往又会加以限制,比如:时不时跳出弹窗提醒休息一下啦,验证码,限制访问次数。

也不是所有的信息都是开诚布公的,有些是“申请制”的。最常见的就是需要注册、登录后,才予以访问、下载。

信息发布方式的差别,对爬虫的影响微乎其微。真正能让爬虫抓耳挠腮的,是信息的传递、排版、加密方式。虽然上述的发布方式也可以视为传递的一部分,但这只是人为感受到一部分,计算机网络通信中还可以有更多、更复杂的传递内容,爬虫如果没有把自己伪装彻底,就很可能暴露自己的机器人身份:今天某网站来了一位将被重点关照的可疑的不速之客。

信息的排版也会让爬虫很是头疼。同样的几段文本,可能会在送达上网人的肉眼之前再加一道工序:呈现出一篇文章,而爬虫得到的就是几段文本。这个时候的爬虫就该思考一下人生:到底是为了获取什么样的信息而来,又该带走什么。

最后说一下加密,一般就是编码,而且都是常用的几个,毕竟网络信息是被看、被用、被分享的,不全是网络安全大赛的争夺,所以,大体上并没有什么神奇的地方。如果爬虫倒在了这一步,那大可掉头放弃,不可在犯罪边缘疯狂试探哦!

文/良宵听雨。授权“游戏夜读”发表。

游戏夜读 | 简单认识一下爬虫相关推荐

  1. 游戏夜读 | 写游戏用什么语言?

    写几句题记 这个标题如果用英文表达,可能更贴切,比如:Beginning game programming,What language should I use? 用简洁的中文似乎表达不出重点. 之所 ...

  2. 游戏夜读 | 在游戏中打败人类

    一系列的惊喜!以及错愕,还有期待. 2017年3月,人工智能Libratus在宾夕法尼亚州挑战美国顶尖德州扑克游戏玩家,在12万手比赛后,Libratus完胜全部4个对手.Libratus使用的&qu ...

  3. 游戏夜读 | 不受欢迎的那个人

    很多想法,来源于批评. 如果听到别人赞扬自己,第一个反应是连声道谢?靠着理性的光辉,可能会自我勉励一番. 要是换成批评呢?不知道成年人的世界里,是赞美的话多,还是批评的话多,据说好听的,要比不好听的, ...

  4. 游戏夜读 | 联网才能玩的单机

    正准备一边游戏,一边直播.意外来了. 手机屏幕显示:网络不稳定,重连中-- 于是,只好放弃直播的想法. 原因很简单,直播需要耗费较大的上行带宽,这里的网络不给力.更何况,游戏本身也要消耗一部分的网络资 ...

  5. 游戏夜读 | 关卡设计新手必看

    文/良宵听雨.授权"游戏夜读"发表. 作为一个新手,容易迷茫.这时候,可以给自己一点时间.空间去思考,或者用来发呆也不错.当然啦,直接下地干活最好了,不会有迷茫的问题. 上面说的是 ...

  6. 游戏夜读 | 关卡设计的难点

    文/良宵听雨.授权"游戏夜读"发表. 原先的计划是先入门,再讲关键点,再然后是难点,这应该算一个不错的进阶路径.但是,但是,但是,有一句话说的妙,叫"方向比努力重要&qu ...

  7. 游戏夜读 | 什么是黑色一分钟?

    黑色星期五,有很多种解释:美国圣诞促销.A股大抛售.电影名.音乐名-- 那么,问题来了,黑色一分钟是什么? 这里说的黑色一分钟,指的是游戏玩家尝试安装.点开游戏的最初一分钟,发生在他们成功下载.获取游 ...

  8. 游戏夜读 | 关于构图的困难

    构图,这个词通常频繁出现在美术工作者和摄影爱好者的口中.通常意义上,构图是<影视听语言>中的重要组成部分.那在游戏中呢?电子游戏业发端以来,视频游戏就应运而生--一种集结了众多艺术表现形式 ...

  9. 游戏夜读 | RPG的美式和日式

    这个分法是从别人那里偷学来的,并没有经过任何的验证.重点不在谈分得对不对,而是为什么要这样分成两类.理由大致有四个方面. 美式RPG.日式RPG. 首先,人云亦云.比如刚才说的偷学.因为自己没有那么多 ...

最新文章

  1. python 对象类型有哪些?
  2. python 购物车代码
  3. 【在线画流程图】网站
  4. 记录一次解决httpcline请求https报handshake_failure错误
  5. matlab写函数进行坐标正反算,基于matlab的坐标正反算
  6. Vim案列掌握vim的基本操作——案例一:vim创建编写txt文件
  7. LR为什么用极大似然估计,损失函数为什么是log损失函数(交叉熵)
  8. iOS 11之Vision人脸检测
  9. HDU4841 圆桌问题【约瑟夫环+模拟+STL】
  10. 《对比Excel,轻松学python数据分析》学习笔记
  11. 深度学习技术在不同方向的应用及相关开源项目
  12. bokeh 设置做图工具
  13. 调用微信方法报错errMsg:chooseImage:fail, the permission value is offline verifying
  14. python if用法
  15. Android端+java后端+servlet+MySQL的型男塑造平台【前后端源代码+论文+答辩ppt】
  16. ajax回调函数 异步延迟
  17. BI神器Power Query(20)-- PQ自适应目录
  18. 一加手机电池测试软件,6款手机电池续航测试:一加手机8Pro排第二 华为P40Pro倒数第三...
  19. linux 源码编译 ./configure 的配置和用法
  20. 京东测试之道,这些你早该知道!

热门文章

  1. CString、CTime和COleDateTime转换
  2. Authing 实践|制造业身份认证统一管理解决方案
  3. RabbitMQ简介及简单使用
  4. 程序员提升逼格技巧汇总
  5. 基于硬件的消息队列中间件 Solace 简介之二
  6. 安卓开发--Eclipse搭建开发环境
  7. 【Mysql】utf8与utf8mb4区别,utf8mb4_bin、utf8mb4_general_ci、utf8mb4_unicode_ci区别
  8. 强制重启Linux系统的几种方法
  9. rasterio实用教程(4)——坐标系转换
  10. 1]解决java.util.concurrent.RejectedExecutionException