Python - 简介介绍

Web抓取是从Web提取信息的自动过程,本章将为您提供有关Web抓取的深入概念,它与Web抓取的比较以及为什么要选择Web抓取。

什么是网页抓取?

字典中" Scrapping"一词的含义表示可以从网络中获取某些东西,这里出现两个问题:我们可以从网上获得什么以及如何获得它。

第一个问题的答案是"数据" ,数据对于任何程序员都是必不可少的,每个编程项目的基本要求是大量有用的数据。

第二个问题的答案有些棘手,因为有很多方法可以获取数据,通常,我们可能会从数据库或数据文件以及其他来源获取数据,但是,如果我们需要大量在线可用数据,该怎么办?获取此类数据的一种方法是手动搜索(在Web浏览器中单击)并保存(将其复制粘贴到电子表格或文件中)所需的数据。这种方法非常繁琐且耗时,获取此类数据的另一种方法是使用网络抓取。

网络抓取,也称为网络数据挖掘或网络收集,是构建可提取,解析,下载和组织的过程来自网络的信息,换句话说,我们可以说,Web抓取软件不是手动从网站保存数据,而是根据我们的要求自动从多个网站加载和提取数据。

Web爬虫的起源

Web抓取的起源是屏幕抓取,它用于集成非基于Web的应用程序或本机Windows应用程序,最初在广泛使用万维网(WWW)之前就使用了屏幕抓取功能,但是它无法扩大WWW的规模,这使得必须自动执行屏幕抓取的方法,并且出现了称为" Web Scraping" 的技术。

Web 爬虫的组件

由以下组件组成-

网络爬虫模块(Web Crawler Module)

Web爬虫的一个非常必要的组件,即Web爬虫模块,用于通过向URL发出HTTP或HTTPS请求来导航目标网站,搜寻器下载非结构化数据(HTML内容),并将其传递给下一个模块提取器。

提取器(Extractor)

提取器处理获取的HTML内容,并将数据提取为半结构格式,这也称为解析器模块,并使用不同的解析技术(如正则表达式,HTML解析,DOM解析或人工智能)来实现其功能。

数据转换和清理模块(Data Transformation and Cleaning Module)

上面提取的数据不适合立即使用,它必须通过一些清理模块,以便我们可以使用它,诸如字符串操作或正则表达式之类的方法可用于此目的,注意,提取和变换也可以在单个步骤中执行。

存储模块(Storage Module)

提取数据后,我们需要根据需要存储它。存储模块将以标准格式输出数据,该数据可以以数据库或JSON或CSV格式存储。

点我分享笔记