当我们写爬虫的时候,我们实际在做什么?

发布者:技术编辑主任 发布时间:2017-03-10 14:38:37 阅读量:6548 标签: 网络爬虫  

导读 : 当我开始学习爬虫的时候,我在网上也开始找相关教程,大多数都是xx分钟学会爬虫一类的文章。并不是否定这些文章的价值,因为他们的确“教会”我如何爬取网页

1489127835839556.jpg

当我们写爬虫的时候,我们实际在做什么?

当我开始学习爬虫的时候,我在网上也开始找相关教程,大多数都是xx分钟学会爬虫一类的文章。并不是否定这些文章的价值,因为他们的确“教会”我如何爬取网页。但我不想停留只会使用工具这一层面上,这就是我想谈谈自己对爬虫的理解。

思考一下我们是怎么样上网的呢?

打开浏览器,习惯性输入百度看看网络连接有没有问题或者输入谷歌看看能不能科学上网。

然后我现在的习惯是打开简书首页,看看有没有新的技术类文章或者是鸡汤文,不断往下、往下、往下拉--居然找不到。

突然找到一篇感觉不错的文章,于是点进去继续看了下去。

文章中还有其他扩展阅读推荐,我继续点进去看下好了。

看完链接的文章感觉不需要再刨根问底,就关闭这个页面了。

什么是爬虫呢?

百度百科上说网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

维基百科上说网络蜘蛛(Web spider)也叫网络爬虫(Web crawler)[1]

,蚂蚁(ant),自动检索工具(automatic indexer),或者(在FOAF软件概念中)网络疾走(WEB scutter),是一种“自动化浏览网络”的程序,或者说是一种网络机器人。它们被广泛用于互联网搜索引擎或其他类似网站,以获取或更新这些网站的内容和检索方式。它们可以自动采集所有其能够访问到的页面内容,以供搜索引擎做进一步处理(分检整理下载的页面),而使得用户能更快的检索到他们需要的信息

爬虫基于用户需求诞生。比如说有一天我感觉每天打开简书首页看东西太累了,希望可以有一份邮件告诉我昨天我关注的专栏更新的收录文章,或者告诉我简书喜欢量最多的文章TOP10。我肯定不会蛋疼到雇一个人帮我一个一个翻(因为我没钱),但是我会雇一个网络爬虫帮我解决这个问题(因为他只问我要电费和带宽费)。

那爬虫是怎么工作的呢?想象你雇了一个富土康流水线的员工帮你去互联网找东西,爬虫也就是这样工作。

向网站发起一个请求(request),比如说你打开一个视频页面准备看;

中间经过好多了复杂的步骤,比如说验证你的身份

网站响应(response)了你请求的内容

爬虫解析响应内容种是否存在其他目标链接,如有重复第一步

爬取的数据用于进一步的数据挖掘

爬虫要干什么

大多数情况下,爬虫其实就是在模拟上面的过程。当然爬虫不会全部模拟一遍,而是会选择合适的步骤模拟。比如大多数情况下我们并不会去请求CSS和Javascript文件,而只是会请求HTML源码或者我们需要的数据。在得到源码后,就像浏览器会解析HTML源码一样,我们的爬虫也会解析HTML,筛选出我们想要的内容保存。

所以在互联网刚发展的时候,那时候用爬虫估计和我们现在用的差不多,但是随着网页的几何级增长,我们就只能针对某个领域写所需爬虫,目前没钱买那么多服务器搞分布式爬取。

那么应该怎么学习爬虫呢?

学习爬虫永远绕不开HTTP协议。如果你仔细思考一下写的代码,你就会问一个问题,为啥要用Requests(Requests is the only Non-GMO HTTP library for Python, safe for human consumption.)。当你问这个问题的时候,请你去看一下百度词条上http。当你对http协议有一个大致的了解,那么你就能理解为啥会用到那些工具库了。

此外,基于需求和兴趣的学习是效率最高的方法,比如说做一个邮件推送功能,做一个图片自动下载器等。对于我而言,学习爬虫有以下几个要求:

能够爬取多个网页,并且不断优化数据提取方法

能够模拟登陆新浪微博、知乎、豆瓣、简书、微信等

能够爬取通过js生成的网页内容

使用ip pool和user agent pool防止被ban

学会分布式爬取

我使用python学习爬虫,因为我只学过一点的C(大学老师居然没教C最核心的指针思想),不会java和C++,主要在Python实战:一周学会爬取网页学的还不错。现在使用python的scrapy框架,因为我想通过读源代码进行深入学习。


上一篇 下一篇

最近更新

热门文章

热门标签 茅台 市值蒸发 80后 节约2600万 280亿 国宝级国企 ofo人去楼空 Lime成功 互联网本质 ofo公众号 金立没落 Dolce & Gabbana 民进党惨败 刘立荣输钱 ofo创始人戴威 HTC 趣头条 子弹短信 中本聪 陈羽凡 阿里巴巴 蘑菇街 名创优品 滴滴“大象转身” 零售业“祖师爷” 摩拜 大润发创始人 全球手机产业链 创业公司 天音控股 瑞幸咖啡 百度外卖 当当 慧聪网 哈啰上线顺风车 打折卖 iPhone 海外支付大战 瑞幸 便利店 苹果市值蒸发 权健“帝国” 爆红营销事件 华为 小米 顺丰大举扩张 “无人货架”的衰落 酷派“罢免”CEO蒋超 诺基亚 浏览器混战 小罐茶 苹果 好市多 再见摩拜 马化腾 张小龙 华为、三星 三星血战印度 互联网贪腐高管 腾讯产品"死亡"名单 共享汽车途歌 苏宁认怂 王健林卖卖卖 流浪地球 视频网站 爱屋吉屋 华为嘲讽三星 黄怒波 全时谢幕 三大外资便利店 5年盟约 快递员 外卖员 ofo以购代退 魅族 电商办卡 借壳上市 九阳 人人车 大白兔 周黑鸭 绝味 拼多多 黄太吉 陈欧 顺丰“危机” 苹果新品发布 晨光文具 传音 乐友 江小白 努比亚 阿里拼多多 六个核桃 怀旧支付 通信 乐视网 外卖摆渡 全景网络 桥页 正确使用关键词加粗技巧来提升网站页面用户体验 网站是怎样分类 SEO刷排名 网站SEO优化的预期效果 怎么样去理解网站内容更新的重要性 百度熊掌号视频服务 将关键词优化到主页上 页面相似度对网站优化带来的不利影响 网站内容如何更新
官方客服 028-61355202
友情链接

微信公众号

微信小程序

© 2020 dxm.so 《中华人民共和国增值电信业务经营许可证》编号: 川B2-20170249号 ICP证: 蜀ICP备14008752号 四川省成都市青羊区光华北三路98号光华中心D栋1609