1 什么是爬虫

把互联网比喻成一张网,那么爬虫就是网上爬行的蜘蛛,把网的节点比喻成一个个网页,爬虫爬取到就相当于访问了该页面,获取了其信息,爬虫可以通过一个节点之后,顺着节点连线(链接) 继续爬行到下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点就可以被爬虫全部爬到。

实际实现可理解为:网络爬虫(又称网页蜘蛛,网络机器人)模拟浏览器发送网络请求,接收请求响应,按照一定的规则,自动地抓取互联网信息的程序。

简而言之:爬虫就是获取网页并提取和保存信息的自动化程序。(原则上,只要是浏览器(客户端)能做的事情,爬虫都能够做。)

爬虫的应用:

  • 12306抢票

  • 网站上的投票

  • 短信轰炸

2. 爬虫的分类

根据被爬网站的数量的不同,我们把爬虫分为:

  • 通用爬虫 :通常指搜索引擎的爬虫(https://www.baidu.com)

  • 聚焦爬虫 :针对特定网站的爬虫

3. 爬虫的流程

  • 向起始url发送请求,并获取响应
  • 对响应进行提取
  • 如果提取url,则继续发送请求获取响应
  • 如果提取数据,则将数据进行保存

关于获取网页:

爬虫的首要工作就是获取网页,即获取网页源代码,python提供了很多库来帮助我们实现发请求、获取网页响应的操作,如urllib、requests(会在后续文章中进行介绍)。我们可用这些库来帮助我们实现HTTP操作。

关于提取信息:

网页中信息冗杂,我们不会全都需要,就要把获得的数据进行提取筛选,网页的结构有一定的规则,还有一些可以根据网页节点属性、CSS选择器、XPath来提取网页信息的库,如Beautiful Soup、 pyquery、lxml等,使用这些库可以快速高效的从中提取网页信息。

关于保存数据:

提取信息后就需要对提取到的数据保存到某处方便后续使用,保存的形式多种多样,TXT、JSON or in  DB , such as MySQL and MongoDB 。

4. robots协议

在百度搜索中,不能搜索到淘宝网中某一个具体的商品的详情页面,这就是robots协议在起作用

Robots协议:网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,但它仅仅是互联网中的一般约定

例如:淘宝的robots协议

小结

  1. 数据的来源:

    • 去第三方的公司购买数据
    • 去免费的数据网站下载数据(比如国家统计局)
    • 通过爬虫爬取数据
    • 人工收集数据(比如问卷调查)
  2. 爬虫的概念:模拟浏览器发送网络请求,接收请求响应
  3. 爬虫分类:通用爬虫、聚焦爬虫
  4. 爬虫的流程:
    • 向起始url发送请求,并获取响应
    • 对响应进行提取
    • 如果提取url,则继续发送请求获取响应
    • 如果提取数据,则将数据进行保存
  5. robots协议:无需遵守该协议

进一步了解爬虫:请看  爬虫(一)爬虫入门

Scrat 一个热爱坚果的松鼠哦~

五分钟告诉你什么是爬虫?相关推荐

  1. 五分钟告诉你什么是MySQL的覆盖索引

    文章目录 五分钟告诉你什么是MySQL的覆盖索引 覆盖索引 总结 参考 五分钟告诉你什么是MySQL的覆盖索引 前面我们已经对MySQL索引底层原理多少有一定的了解了,还不是很了解的小伙伴可以看我之前 ...

  2. matlab批量储存变量_科协五分钟|用Matlab工具包处理音频信号

    科协近期大事汇总 1. 9月28日晚,硬件人才计划顺利验收. 2. 9月28日下午,仪器设计大赛综合组交流. 3. 五系联合实验室参观筹办中,预计第六第七周举办 4. 仪器设计大赛新生组开发稳步进行. ...

  3. 五分钟DBA:浅谈伪分布式数据库架构

    [IT168 技术]12月25日消息,2010互联网行业技术研讨峰会今日在上海华东理工大学召开.本次峰会以"互联网行业应用最佳实践"为主题,定位于互联网架构设计.应用开发.应用运维 ...

  4. 前缀表达式后缀表达式_五分钟小知识之什么是后缀表达式

    点击蓝色"五分钟学算法"关注我哟 加个"星标",一起学算法 后缀表达式,又称逆波兰式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺 ...

  5. 五分钟了解先验概率和后验概率

    五分钟了解先验概率和后验概率 本文摘自我的公众号[车子的心智探索] 欢迎关注我! 不理解先验概率和后验概率?莫慌,本文可以帮你. 从面积的角度看概率 在说正题之前,咱们从面积的角度认识一下概率. 拿掷 ...

  6. python contains类似函数_五步教会你用python爬虫神器PyQuery!(内含详细步骤和代码)...

    前言: 今天为大家带来的内容,是五步教会你用python爬虫神器PyQuery!(内含详细步骤和代码),在这里还是要啰嗦下,为了有更好的观赏性,大部分代码用图片的方式呈现出来!喜欢的话不忘点赞关注不迷 ...

  7. 五分钟让你的数据动起来,动态数据可视化极简教程

    之前发了一条动态数据可视化的视频,有很多朋友来咨询怎么制作的,其实制作过程难度不大,上手很快,特地为大家整理了一篇制作教程,五分钟让你的数据动起来! 为什么做动态数据可视化? 动态数据可视化主要应用的 ...

  8. 中公学python要多久_学完风变编程我才知道:一天的工作,五分钟就能完成!

    原标题:学完风变编程我才知道:一天的工作,五分钟就能完成! 我是一家上市公司的行政人事,从毕业到现在工作3年最大的体会,就是曾经的热情和活力都被日复一日的重复性工作给消磨没了,感觉每天都在做一些没什么 ...

  9. 《神探tcpdump第五招》-linux命令五分钟系列之三十九

    == [系列文章] <神探tcpdump第一招>-linux命令五分钟系列之三十五 <神探tcpdump第二招>-linux命令五分钟系列之三十六 <神探tcpdump第 ...

  10. 五分钟深入 Hadoop 内核

    五分钟深入 Hadoop 内核 回顾 上篇文章我们说到,Hadoop 的工作下图所示,负责把 mapper function 装载到要运行 mapper 的机器上,然后执行 mapper functi ...

最新文章

  1. 教育部要求:作业、校外培训、游戏要为学生睡眠让路
  2. Ansible自动化运维基础-------ploybook
  3. 移动APP的开发迭代离不开测试,你搞清楚其中的关键点了吗?
  4. java登录界面命令_Java命令行界面(第18部分):JCLAP
  5. python怎么开发工具_为程序员和新手准备的8大Python开发工具
  6. PC HARDWARE SHARE NO.4
  7. emlog和typecho文章采集插件 简数第三方数据采集
  8. linux 下的文件属性,Linux 下文件属性介绍(示例代码)
  9. 在JSP中使用JavaBean
  10. rk3399_android7.1 USB Type-A的配置
  11. 使用python根据图片链接下载图片
  12. CVE-2013-5211漏洞整改方法
  13. Android persistent机制
  14. ntp服务器安装和配置文件,NTP服务的安装、配置和使用
  15. 不定高度的slideUp动画效果
  16. 调整分区后分区不见的数据找回法子
  17. 如何开发一个个人微信小程序,微信小程序开发入门教程
  18. 不只是休闲:关于体感游戏的一些思考(六)--- 飞行
  19. App地推渠道归属:解决地推中存在的难题
  20. 重返月球,铺路火星:2024年首位女性登月,280亿美元开启太空探索新纪元-1

热门文章

  1. 使用HttpClient发送短信
  2. 远程访问及控制工具SSH
  3. Sniffer的使用
  4. kettle 使用excel模板导出数据
  5. JAVA在线小说电子书阅读系统毕业设计 开题报告
  6. 冶金矿山数字化价值链分析
  7. powershell_符号链接(symbolic)的创建/重新指向设定Target/与快捷方式的区别/符号链接的应用/onedrive任意文件(夹)同步问题/git管理和符号链接\辨识符号链接函数
  8. matlab人机交互界面设计
  9. 《大学英语翻译》课程相关复习笔记
  10. 短信工具类 SmsUtil