【网络爬虫-----爬虫的分类及原理】

一.网络爬虫概述

  网络爬虫可以按照指定的规则(网络爬虫的算法,编写的程序)自动抓取网络中的信息。大多主流语言都可以都可以进行网络爬虫,python相比较其他语言更加便捷、第三方库更加丰富。所以大多数爬虫任务都是用python完成的。

二.网络爬虫的分类

  网络爬虫根据实现的技术和结构可以分为以下四类:通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫

1.通用网络爬虫

  通用网络爬虫又叫全网爬虫,主要由URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块等模块构成。主要为大型搜索引擎,大型服务商等采集数据。
  通俗来说就是抓取互联网上的所有数据。由于通用网络爬虫的爬行范围和爬取数据量十分巨大,对于爬取速度和存储空间要求较高,所以通常采用并行工作方式。

2.聚焦网络爬虫

  聚焦网络爬虫又叫主题网络爬虫,爬取指定网页信息的一种爬虫。由于目的性更加明确,范围更加小,所以爬取速度快,大幅节约硬件和网络资源。

3.增量式网络爬虫

  所谓增量式,就是增量式更新。意思是在需要的时候只爬取网页更新的部分,没有发生变化的部分不进行重复爬取。这样可以有效地减少数据下载量,加快运行速度,减小时间空间上的耗费,但是算法上的难度会相应增加。

深层网络爬虫

   深层网络爬虫又称Deep Web爬虫。Web页面按照存在方式分为表层网页(Surface Web)和深层网页(Deep Web),表层网页是直接通过静态链接可直接访问的静态页面。深层网页则是隐藏在搜索表单后面的页面。
   深层网络爬虫主要由六个基本功能模块(**爬行控制器、解析器、表单分析器、表单处理器、响应分析器、响应分析器、LVS控制器)**和两个爬虫内部数据结构(URL列表、LVS表)等部分构成。LVS表示标签/数值集合,用来表示填充表单的数据源

三.网络爬虫的基本原理

工作流程如下:
1.先获取初始的URL,该URL是用户自己定制的爬取的网页。
2.再爬取初始URL的同时获取新的URL地址。
3.将新的URL地址放入URL队列。
4.从URL队列中读取新的URL,根据新的URL爬取网页,同时继续获取新的URL地址,重复上述的爬取过程。
5.设置停止条件,爬虫会在满足停止条件时停止爬取。如果未设置停止条件,直到无法获取新的URL为止。

四.在Windows系统下搭建开发环境

  搭建开发环境分为两个,分别是:在Windows下搭建环境、在Linux下搭建环境。(本次目的只是了解并使用爬虫,所以只介绍在Windows下搭建开发环境)

1.安装Anaconda

1.1Anaconda介绍
  Anaconda 是专门为了方便使用 Python 进行数据科学研究而建立的一组软件包,包含了大多数常见的Python库,并且自带了专门用来解决软件环境依赖问题的 conda 包管理系统。主要是提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。
1.2Anaconda安装
  (1)在浏览器中打开Anaconda首页,然后单击Get Started。
     Anaconda官网地址https://www.anaconda.com/
在这里插入图片描述
  (2)选择Download Anaconda installers选项
在这里插入图片描述
  (3)进入下载页面后,选择自己所需要的Anaconda版本,这里以Windows(64-Bit)为例
在这里插入图片描述
  (4)下载完成后,在下载的路径下,直接双击下载的文件,在“welcome to anaconda3(自己下载的版本)”窗口中单击Next按钮,进入下一个窗口点击I Agree。
在这里插入图片描述
在这里插入图片描述
  (5)选择ALL Users选项,然后单击Next。
在这里插入图片描述
  (6)选择自己的安装路径(不建议使用中文路径),然后点击Next。(这里的路径只是为了好处理随便捡的文件夹)
在这里插入图片描述
  (7)勾选第一复选框,添加环境变量
在这里插入图片描述
  (8)之后便一直点击next即可,在最后finfish窗口根据个人需求勾选即可,(个人建议取消勾选)
  (9)在Anaconda安装完并保证已经添加系统环境变量,打开Anaconda Prompt命令行窗口,输入“conda list",回车之后即可查看当前Anaconda已经安装好的所有模块。
在这里插入图片描述

2.PyCharm的下载与安装

  2.1PyCharm介绍
  PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。(源自百度百科)
  2.2PyCharm下载与安装
  (1)进入pycharm官网(https://www.jetbrains.com/pycharm/),点击download
在这里插入图片描述  (2)在PyCharm环境和版本下载,选择操作系统平台为Windows,单机社区版pycharm(Community)下的download开始下载。
在这里插入图片描述
  (3)下载完成后,在下载路径里找到安装包,双击,然后在欢迎页面点击next。
在这里插入图片描述
在这里插入图片描述
  (4)在软件安装路径设置界面,设置合理的路径。尽量不要把软件安装在操作系统所在的路径,否则如果操作系统出现问题,pycharm程序将被破坏。
  (5)在创建桌面快捷方式界面(Create Desktop Shortcut)设置pycharm程序的快捷方式,根据计算机操作系统的位数来进行选择;接下来设置关联文件(Create Associations),勾选”.py“然后点击next。再接着点击next和finish即可。(因为我已经安装才写的这篇博客,所以后面的安装执行不了,没有截图)

3.配置PyCharm

  (1)创建New Project,设置python存储路径。
  (2)打开新建工程,在菜单栏里依次选择file>>settings
在这里插入图片描述
  (3)在依次选择project:pythonProject>>Python Interpreter;再点击齿轮符号,再点击Add
在这里插入图片描述
  (4)在conda environment中添加anaconda的地址
在这里插入图片描述
  (5)添加完返回上一级选择anaconda的python,应用即可

在这里插入图片描述

如果发现什么问题或有什么疑问,欢迎大家一起在评论区讨论

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是学习爬虫的完整知识框架: 1. 基础知识 - 网络协议(HTTP,HTTPS,FTP等) - HTML,CSS,JavaScript基础 - Python编程基础 2. 网络爬虫 - 网络爬虫基础知识 - 爬虫的工作原理 - 爬虫分类及特点 - 常用的爬虫库(Requests, BeautifulSoup, Scrapy等) - 爬虫的反爬虫策略 3. 数据处理 - 数据解析(正则表达式,XPath,CSS选择器等) - 数据存储(文件存储,数据库存储等) - 数据清洗和去重 4. 爬虫实战 - 单页面爬虫 - 多页面爬虫 - 动态页面爬虫 - 分布式爬虫 5. 高级话题 - 反爬虫技术 - 爬虫安全和合法性 - 模拟登录 - 搜索引擎优化 - 自然语言处理 - 机器学习和数据挖掘在爬虫中的应用 以上是学习爬虫的完整知识框架,需要逐一深入学习掌握才能更好地应用于实际工作中。 ### 回答2: 学习爬虫的完整知识框架可以分为以下几个部分: 1. 网络基础知识:了解HTTP协议、URL结构、HTTP请求与响应等基础知识,对网络通信有一定了解。 2. Python基础知识:熟悉Python语法、常用库(如requests、BeautifulSoup、Scrapy等),掌握基本的数据处理、文件操作、异常处理等能力。 3. 数据解析与处理:学习HTML、CSS、XPath等数据解析方法,掌握如何从网页中提取所需的数据,进行处理和存储。 4. 反爬虫机制:学习常见的反爬虫策略,如验证码、IP封禁、用户代理等,了解如何应对和绕过这些反爬虫机制。 5. 数据存储与管理:了解数据库的基本概念和操作,学习如何将爬取到的数据存储到数据库中,使用SQL语句进行增删查改等操作。 6. 多线程与异步:掌握多线程和异步编程的基本原理和使用方法,提升爬虫的效率和并发能力。 7. Scrapy框架:学习Scrapy框架的使用,包括项目的创建、配置、爬虫的编写和调度,掌握Scrapy的高级功能,如中间件、管道、扩展等。 8. 数据清洗与分析:学习如何对爬取到的数据进行清洗和分析,使用数据可视化工具展示数据,进行统计和分析。 9. 反反爬虫策略:了解如何设计和实施反反爬虫策略,提高爬虫的稳定性和持久性。 10. 实战项目:通过完成实际的爬虫项目,锻炼综合应用各种知识和技能的能力,不断提升自己的实战经验。 以上是学习爬虫的一个基本知识框架,当然在实际操作中还会遇到各种具体的问题和挑战,需要不断查阅资料、学习和实践,不断提升自己的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值