一只爬虫的旅途

1、开始

在过去的很长一段时间里,经常有小伙伴加我微信或者在群里发一个截图,然后问,为什么我按照XXX的代码运行没有结果啊?

没有结果肯定是不正常的结果,面对不正常结果首先要分析问题,要分析问题,首先当然要解剖问题和定位问题。

然而很多小伙伴刚刚接触数据采集写爬虫,用上几个库和框架就开干,顺利则好,不顺利,就一脸懵逼了。

这和你第一次开汽车,踩上油门汽车确实就能走,要是一条直路到达目的地,相安无事。

要是快撞树了不知道减速、不知道刹车、不知道转弯,撞树了还不知道倒车,有什么区别?

image

下面,通过比喻的手法,简单介绍一下,一个爬虫完成一次数据采集任务,所走过的路,所干过得事。

2、探路(分析目标)

我是一只爬虫,我即将前往我的目的地——花果山果园搬水果。

在出发之前,我派出了我的探子前往目的地了解果园的具体情况。(分析网页)

前往果园的道路是否通畅(请求是否可达)

果园有没有门卫(是否可以直接访问)

进去是否需要查验证件(是否需要认证)

果子还在树上(HTML数据)

还是已经装进了水果篮中(JSON/XML数据)……

待探子探明情况,我就可以上路了。

3、上路(HTTP请求)

前往果园我有很多种交通工具可选,比如一辆小单车(Selenium)、一辆小摩托(urllib)、一辆汽车(requests),或者是先乘高铁然后再租车(使用多种请求方式)。

我还能叫上我的几个兄弟(并发),一起去搬水果,这样可以搬得多搬得快。

正常情况下,我开了一辆小汽车驶上了高速公路。如果没有特殊情况,我可能顺顺利利全程高速,然后出了收费站,就到花果山。

但是有可能,想着果园满满的水果,我就兴奋,嗨了起来,油门自然给得也足。(请求速度快且频繁)花果山下道路限速40km/h,而我直接开了120km/h,被花果山交警大队的交警抓了,直接吊销驾照(IP被封)……game over

image

4、进果园(获取响应)

有惊无险下地进入了花果山果园镇。花果山里有些果园是公益开放的免费果园,所以我就直接开车进去。

有些果园是需要实名登记,我就老老实实去登记了,拿了个“已登记”的牌牌然后再进去。(登录认证后cookie

image

有些果园虽然免费进入,但是特别变态,竟然只让外A牌的小车进入(限制部分地区IP访问),无奈,只得换上准备好的外A套牌(代理IP),再次进入。

image

进入果园后,果园的负责人为我们送上了一个大礼包(HTTP响应),大礼包是什么呢?肯定是水果啊。拿到这个水果大礼包之后,我们此行最重要的目的就完成了。接下来,把水果大礼包放到车子,班师回朝!

5、摘果子(解析响应)

有些果园只管种树,送的水果大礼包里面是连枝带叶一起塞进来的(返回的HTTP响应是HTML源码),想要果子,还得自己去摘。

准备好剪刀、手套、塑料袋,一个一个,果子剪摘下来(HTML解析)。要是你手艺不好,可能一枝也没有一个果子,也可能把果子剪坏了。

image

有些果园就比较厚道了,把已成熟的果子采摘下来,放在一个个准备好的塑料箱里,最后打包到水果大礼包里面(返回JSON数据)。有需要哪种水果的,直接取对应的塑料箱就行了。真是中国好果园!

image

更有些果园,水果摆在不远处,但是面前一条弯弯的河(反爬机制),只要你过得去,水果大礼包就是你的了。

6、处理果子(数据存储)

果子分拣出来之后,怎么办呢?有些小伙伴把水果整整齐齐码在一起,拍个照发到朋友圈就完了,水果也直接扔了(直接print)。

image

当然,我们运回来的水果是有目的的。可能会稍微处理一下,直接拿到市场上去售卖。有可能挑出一些水果来把皮削了,用来做水果罐头(数据清洗)。

少量的水果,我们可以直接放在小冰箱的冷藏室里面保存(文本存储),大量的水果会放入保鲜库中进行保鲜,有一些水果则会脱水烘干后进行仓库(数据库存储)。

image

7、最后

我是一只爬虫,水果入库之后,我又该上路了,你呢?

小编最近整理了一套Python学习教程,有需要的小伙伴,记得来小编的交流群:556370268,即可免费领取一套Python学习教程哦

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,744评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,505评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,105评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,242评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,269评论 6 389
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,215评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,096评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,939评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,354评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,573评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,745评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,448评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,048评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,683评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,838评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,776评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,652评论 2 354

推荐阅读更多精彩内容

  • 爬虫概述 1. 目录清单 爬虫简介 通用爬虫和聚焦爬虫 网络请求那些事儿 网络数据抓包分析 2. 章节内容 2.1...
    小皇帝s阅读 688评论 0 1
  • 第一回 闪亮登场 航天局天才三姐妹马上就要坐“神舟”十号飞船进入火星探察。她们的孩子丁丁、东东和玲玲就交付给她们的...
    古塘湖畔阅读 2,046评论 0 4
  • Python版本管理:pyenv和pyenv-virtualenvScrapy爬虫入门教程一 安装和基本使用Scr...
    inke阅读 35,296评论 7 93
  • 用心做好以下三件事,我猜对你在职场上肯定有用。 End 我是文莹Jerman 喜欢就给我点赞吧,爱你,么么哒
    视觉笔记找文莹阅读 178评论 0 4
  • 美丽的春天是一个好心的娃娃, 她让冰雪融化,让柳树发芽。 美丽的春天是一个好心的娃娃, 她让动物苏醒,让大雁回家。...
    钰骅阅读 498评论 1 1