[数据采集笔记00]网络爬虫的概述——00概述

1.概述

1.1. 爬虫的简介

1.1.1. 浏览器访问网站工作原理

[数据采集笔记00]网络爬虫的概述——00概述

浏览器访问网页的大致工作原理可以分为以下几步:

  • 我在浏览器的地址栏中输入要访问网页的url
  • 浏览器就会向服务器发送HTTP请求。
  • 服务器接收到浏览器发送的HTTP请求后,产生并返回HTTP响应。
  • 然后浏览器获取响应(主要是html、js等), 并解析成用户所能看到的页面。

1.1.2. 什么是爬虫

爬虫就是一个自动抓取互联网信息的程序, 可以从一个URL出发访问它所关联的URL, 提取我们想要的数据。即爬虫就是自动访问互联网并提取数据的程序。

[数据采集笔记00]网络爬虫的概述——00概述


如果没有网络爬虫, 你想获取网页的数据, 只能通过人工一个一个浏览页面, 然后Ctrl+CCtrl+V。 费力又费时。ε=(´ο`*)))唉


1.1.3. 爬虫的价值

爬虫的价值就是将网上的数据为我所用, 开发属于自己的应用程序。

[数据采集笔记00]网络爬虫的概述——00概述

1.2.简单的网络爬虫流程架构

[数据采集笔记00]网络爬虫的概述——00概述

  1. 爬虫调度端: 用来启动、执行、停止爬虫, 或者监事爬虫中的运行情况。
  2. 在爬虫程序中有三个模块
    • URL管理器: 对URL进行管理, 就是将未爬取和已经爬取的URL进行管理。
    • 网页下载器: 将URL管理器提供的一个URL所对应的页面下载下来,存储为字符串并传送给网页解析器进行解析。
    • 网页解析器: 一方面解析出网页中有价值的信息, 另一方面解析出网页中的URL, 补充进URL管理器。

这三部分组成了一个简单的爬虫架构, 这个架构就能将互联网中所有的网页爬取下来

[数据采集笔记00]网络爬虫的概述——00概述

1.2.1. URL管理器

管理待抓取URL集合和已抓取URL集合防止重复抓取和循环抓取,最严重情况两个URL相互指向就会形成死循环。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EteD0Jpk-1589635717472)(D:\笔记图片集\1589634746270.png)]

几种实现方式

  • python中的set集合
  • 关系数据库, 如MySQL等
  • Redis: 使用Redis性能最好, 且Redis中也有set类型可以去重。

1.2.2. 网页下载器

网页下载器:将互联网上URL对应的网页下载到本地的工具

  • urlib——python标准库
  • requests——第三方库(更人性化)
  • 等等

[数据采集笔记00]网络爬虫的概述——00概述

1.2.3. 网页解析器

网页解析器:从网页中提取有价值数据的工具

  • 正则表达式
  • html.parser
  • BeautifulSoup
  • lxml

后面三种属于结构化解析,即DOM(Document Object Model)树

[数据采集笔记00]网络爬虫的概述——00概述

面三种属于结构化解析,即DOM(Document Object Model)树