爬虫初识

最近好多小伙伴都在问:会爬虫吗?怎么爬虫?趁着今天休病假从医院回来有空闲时间写,就来绍一下爬虫,不会涉及特别深的技术,可以算一个“爬虫初识”。

我不喜欢上来就听技术,一个东西的存在总有个来龙去脉,就像讲故事一样,想必各位也是,那么何为爬虫?

一.何为爬虫?

“爬虫”就是一种为用户获取到服务器端网页数据的技术,我们常用的浏览器就是爬虫原理:我们通过搜索功能获取到远端服务器上的一个相关网页,这其实就是一种最常用的爬虫技术,只不过这网页数据并不是我们爬下来的,而是浏览器的爬取结果。而我们爬取到的第一张网页上面还会看到其他相关链接,再次点击又能看到另外的页面数据,这也是“爬”的结果,浏览器就是这样,用爬虫技术为我们将世界上的相关网页都get到,这技术的核心好比一只小虫子(就是下面那只),在互联网上爬来爬去为我们搜索数据,因此,就称之为“爬虫”!


那么,我们经常希望得到一些目标数据,但是手里有没有,这时就需要模拟浏览器的行为去爬取。

我们最先开始要明确的是:像所有网页请求一样,我们发出一个“请求”,服务器返回我们一个“回答”,这也是标准的浏览器搜索方式。

二.能爬取什么数据?

(1)网页文本:HTML、JSON格式文本等;

(2)图片、视频:都是二进制数据;

(3)其他:一时间想不起来其他都有啥了,见谅···

三.爬虫“请求”分类

这里的“请求”主要分为两种:get和post;get请求是我们平时直接搜索获取数据,而post是向远端的服务器提交数据。还有其他的但是不常用,就暂不谈了。

四.爬虫基本原理

首先,要有爬取目标url,当然我们的目标是大量网页的时候就要有一个url池子,一个网页一个网页的爬;

其次,由于网站都不喜欢被别人爬去数据,过快的爬取速度会搞瘫网站,所以我们需要简单的伪装自己,将自己伪装成一个常用的浏览器(百度、谷歌都行),也就是伪装浏览器的核心就是在我们发起“请求”中增加一个“User-Agent”,让网站以为我是浏览器在正常的浏览网页,这样一来它就不能拒绝我的请求。

(这是我笔记本谷歌浏览器的)

然后,我们发出“请求”,由于在网站眼里我们已经是一个正常的浏览器搜索引擎了,他就没有理由不对我们的请求进行应答,我们就顺理成章的拿到了它的原始数据页面。

五.爬虫流程

(1)发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求中可以包含很多信息,常用的有headers等;

(2)获取响应内容:若服务器能正常响应,会得到一个Response,其内容就是索要获取的页面内容,类型可能是HTML、JSON字符串,二进制数等等;

(3)解析数据:利用正则表达式、网页解析库等手段将获取到的网页进行解析,提取我们需要的数据部分;

(4)保存数据:这一块就略过了,因为保存的形式多种多样,文本、数据库等等都行;

六.Response中的响应状态

服务器返回200状态码:响应成功!

服务器返回301状态码:url跳转了~

服务器返回404状态码:网页找不到了,可惜~~

服务器返回502状态码:服务器有错误···

依据状态码,我们可以直观的看到我们爬取是否成功,是否错误,错误在哪里。

七.最最最重要的事情

我可是听说不少爬数据的人都进去了,“技术无罪”这句话好像听着有道理但是警察可不管,所以,这技术发展的同时还伴随着道德和法律,其实说这些就是为了引出一个东西:Robots协议。

爬亦有道,其实大家都不喜欢自己的数据被爬,因为数据的保密性和网站的鲁棒性都会收到威胁,因此,大家坐在一起商谈达成了一项道德约束,也就是每个网站都会提供一个网页文本,也就是Robots.txt文本,上面写了我们网站的哪些东西你可以爬,哪些你不可以爬。下面是Robots.txt文本的格式:

User-Agent:xxx      //可以被允许的浏览器

Allow:xxx                //允许你做的事情

Disallow:xxx          //不允许你做的事情

Sitemap:xxx        //如果你非要爬的话,别瞎搞,我给你一个站点地图,你去那里面随便爬好吧

这其实就是个道德约束,但是呢估计没人遵守,因为恰恰是你不让我爬的数据才是我想要的数据,要不然我就直接去贵州的大数据交易所去买了。但是还是要提醒大家:爬虫写的好,牢饭吃的饱!!

结语:其实爬虫的基本原理就这些,听着也很简单,这次就是讲一下爬虫到底是什么,暂时先不讲什么python、urlrequest、urlopen、open、request、get、urlparse、bs4、第三方库requests、超时响应等等等等···(其实是懒得写了),等以后慢慢写,其实详细写的话还是不少的。

今天的爬虫完全是初识!初识!没有谈技术,只是讲讲爬虫是什么,基本原理基本流程巴拉巴拉,至于技术代码,常用内置库、第三方库,参数拼接等等啥的等下次想写再写吧!

希望没了解过的人看完这篇都能大概理解爬虫是什么~

回见!

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