什么是爬虫

爬虫又被称之为网络蜘蛛、网络机器人等,简单来说就是模拟客户端发送网络请求,接收请求响应,按照一定的规则自动的抓取互联网信息的程序。

为什么需要爬虫

1.从个人角度来说,爬虫可以做我们的生活助手。

  • 比如每天我们都会为吃什么而烦恼,那么一个可以定时爬取菜谱、菜单的爬虫程序就显得生活很有乐趣。
  • 比如购物时要找到同类商品中最便宜的哪个,那么一个爬取商品信息的爬虫程序就可以让你省不少钱。

2.从商业角度来说,爬虫能实现巨大的商业价值。

  • 公司的决策离不开数据,知道用户需要什么,了解不同的人不同的喜好,根据大数据分析辅助决策公司的发展方向,工作重点。

爬虫的分类

网络爬虫根据系统结构和开发技术大致可以分为四种类型:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫。

通用网络爬虫
1、通用爬虫又称为全网爬虫,也就是常说的搜索引擎,常见的有百度,Google,必应等搜索引擎,爬行对象从一些初始URL扩充到整个网站。
我们用搜索引擎获取信息时,就是用到了爬虫,那么既然已经有了爬虫,还是百度,谷歌这种值得信赖的大公司,我们何必自己费劲去写爬虫呢?先让我们了解一下聚焦网络爬虫,再来解答这个问题。

2、 聚焦网络爬虫 又称为主题网络爬虫,选择性的爬取根据需求的主题相关页面的网络爬虫。

使用通用网络爬虫,是从全网搜索想要的信息,在数据、信息爆炸的今天,信息多的看都看不过来,怎么样才能高效的获取我们想要的信息呢?好不容易找到信息了,这么多数据与信息,怎么样把他们保存下来呢?好不容易保存下来了,下一次还要抓取这些信息时该怎么办呢?
这时候聚焦爬虫就要显神威了,它只爬取特定网页的信息,换个说法,只爬取我们想要的信息,等到我们需要的时候数据、信息的时候,运行程序即可。所以,聚焦爬虫就相当于为我们私人定制信息获取程序!听起来是不是还不错呢。

3、 增量式网络爬虫
指对已下载、已爬取网页采取增量式更新和只爬取新产生或者已经发生变化的网页的爬虫。
如果我们对信息有持续的需求,那么就可以写这样一个爬虫。但是此类爬虫较为复杂,目前不太普及。

4、深层网络爬虫
现在大部分网页内容不能通过静态URL获取,隐藏在搜索表单后或者只有用户提交一些关键词才能获得的网络页面。
随着反爬虫的不断更新与发展,网页上的数据不再是简单的存储在源代码当中,各种各样的反爬虫,需要我们一同分析研究,突破网页关卡,获取到想到的信息。

爬虫的原理

我们可以把互联网比作一张大网,而爬虫便是网上爬行的蜘蛛。把网的节点比作一个个网页,爬虫爬到这就相当于访问该页面,获取了其信息。可以把节点间的连线比作网页之间的链接关系,这样蜘蛛通过一个节点后,可以顺着节点连线继续爬行到达下一个节点,即通过一个网页继续获取后续的网页,这样整个网的节点便可以被蜘蛛全部爬行到,网站的数据就可以被爬取下来了。

参考书目:

  1. 《实战python网络爬虫》 黄永祥
  2. 《python3网络爬虫开发实战》 崔庆才

用python写爬虫(一)初识爬虫相关推荐

  1. 由浅到深玩转Python爬虫(一)初识爬虫

    文章目录 前言 1. Python版本如何选择? 2. IDE如何选择? 3. 初识爬虫 4. 爬虫前景怎么样? 5. 怎么编写爬虫? 6. 来!我们上道具 7. 致谢 前言   由于自身对爬虫技术的 ...

  2. 用python写一个美女图片爬虫

    介绍 最近无聊学了一下python,决定打算用python写一个爬虫,既然要写爬虫,就写一个美女爬虫,养眼,哈哈..你们懂的 准备阶段 首先我们必须先找到一个有美女的网站,这里我以7kk网站为例子, ...

  3. 用python写一个豆瓣通用爬虫并可视化分析

    原创技术公众号:bigsai,本文在1024发布,回复bigsai送架构师进阶pdf资源,祝大家节日快乐,心想事成.收到祝福后点个一键三连回馈一下蟹蟹! 文章结构 前言 登录 爬取 储存 可视化分析 ...

  4. 用python写一个简单的爬虫保存在json文件中

    学习python没多久,所以只能写一个很简单的爬虫啦~~ 我使用annacada 自带的spyder来写爬虫的,这次我们要爬取得网站是http://www.drugbank.ca/drugs, 主要是 ...

  5. python写一个简单的爬虫程序(爬取快手)(附源码)

    快手是一个有意思的视频应用,但是它有一些视频不让下载,我们今天就用爬虫来实现爬取不让下载的视频: 首先右键点击检查,我们可以看见找到了视频的src,访问这个src就可以得到视频的下载网址,如下: 右键 ...

  6. 用python写一个简单的爬虫_Python实现简易Web爬虫详解

    编辑推荐: 本文主要介绍了Python实现简易Web爬虫详解,希望对大家有帮助. 本文来自于脚本之家 ,由火龙果软件Alice编辑,推荐. 简介: 网络爬虫(又被称为网页蜘蛛),网络机器人,是一种按照 ...

  7. 用python写一个简单的爬虫_用Python编写一个简单的爬虫

    作者信息: Author : 黄志成(小黄) 博客地址: 博客 呐,这是一篇福利教程.为什么这么说呢.我们要爬取的内容是美图网站(嘿嘿,老司机都懂的) 废话不多说.开始今天的表演. 这个图集网站不要问 ...

  8. python写的有声小说爬虫

    querybook.py from bs4 import BeautifulSoup from lxml import html import xml import requests import s ...

  9. 用Python写一个pubmed的爬虫代码

    很高兴为您解答!我可以提供一些参考代码供您参考: import urllib.request from bs4 import BeautifulSoup 设置请求头 headers = {'User- ...

  10. 用python写一个简单的爬虫_用Python从零开始写一个简单爬虫

    import requests from bs4 import BeautifulSoup url = "https://tieba.baidu.com/f?kw=王者荣耀&fr=h ...

最新文章

  1. 一个分号将代码效率提升100倍
  2. dede服务器建站_建站就是这么简单(内容系统管理CMS篇)
  3. 大话数据结构15 : 线索二叉树
  4. 【线段树 集合hash】bzoj4373: 算术天才⑨与等差数列
  5. 一个C++程序员生产力,大概相当20个C程序员,200个java程序员?
  6. SpringCloud创建Eureka Client服务注册
  7. 18kw丹佛斯变频器常见故障_变频器常见故障——输出不平衡、过载、开关电源损坏...
  8. Conda 环境常用碎笔记
  9. 华为交换机带宽不足会丢包吗_华为岳伟:品质家宽,释放F5G网络体验红利
  10. MySQL实验: 实践索引对全列匹配、最左前缀匹配、范围查询等条件的影响以及了解脏读、幻读等...
  11. c#数据格式化之DataFormatString
  12. 【电机原理与拖动基础】Unit 2 直流电机的电力拖动系统
  13. AS导入项目或开启项目时,Gradle一直卡在build状态
  14. c语言2维数组每一行最小值,二维数组每一行最大值
  15. 《利用Python进行数据分析: Python for Data Analysis 》学习随笔
  16. Android P 9.0 MTK平台 增加以太网静态IP功能
  17. 用cout输出uchar(unsigned char)变量时,没有输出结果怎么办?
  18. LINUX IIO子系统分析之六 iio device的驱动开发流程说明
  19. 音乐平台程序源码分享
  20. 移动通信电磁辐射(转)

热门文章

  1. 记事本改字体的代码java_求java记事本代码(带字体设置功能)?
  2. 如何给135编辑器推文添加附件
  3. C语言路漫漫,其修远兮
  4. AD9361参数设置总结
  5. 2021爱智先行者—人体存在感传感器
  6. 【Layui】操作成功后返回父级并且刷新
  7. mtk智能机平台LCM,CTP的ESD防护处理
  8. 基于React Native和Ethers.js的电子钱包(二):路由和导航
  9. 五一假期维修手机感想
  10. 一起弄个微信订阅号鉴黄机器人