文本采集与数据处理之一中|学习笔记

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 快速学习文本采集与数据处理之一中

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践文本采集与数据处理之一中】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15510


文本采集与数据处理之一中

 

内容介绍

一、 Lxml+Xpath

二、 二、Lxml+Xpath——DOM(文档对象模型)

 

一、Lxml+Xpath

解析网页得到响应以后来解析。解析的话,讲的是一个组合叫Lxml+Xpath 的方法来解析。

image.png为什么要解析?原理是什么?原理就是先看中间,知道请求得到的响应,得到的内容是一个长的字符串,那么长的字符串是没有结构的处理起来非常麻烦,希望利用一种叫DOM的结构,就是文档对象模型。是一个文档树啊,能够利用文档树的话,在上面找东西就方便,所以Lxml的功能就是将网页解析成文档树。

就像这个原始的网页。然后利用Lxml的这种工具,解析成一个文档树的结构。然后再用Xpath到树上搬东西,像树上有很多果实一样,去摘果实,搬果实。也就是搬那些网页内容Xpath,这就是三者的关系,DOM后面会介绍,有定义,什么叫MDM,有什么样的一些内容,DDM有哪些访问啊,然后在DOM里面哪些操作,在后面会展开来介绍一下。然后对于Lxml是把网页解析成DOM。

Lmxl里的语法在解析器是什么,他就是要用Lxml里面etree做成一个数来构造DOM。然后Lxml里面也有一些属性,就是把网页做成文档树的结构里面的一些属性,比如说里面有tag 就是网页里面的一个标签。有.text,就是标签后面对应的那些文本,然后也有一些方法啊,比如说在里面找东西find ,find all,Lxml本身的有关知识,然后使用Xpath,真正用Lxml只要连成DOM模型就可以,也就是用etreeL把网页变成DOM模型,然后后面直接找tag,找文本,用后面Xpath的方法。

Xpasth是后面重点要学的内容,X path里面内容非常多,重点会介绍几个,

一个是定位就是到树枝上面去搬东西,到底在树枝的哪个地方有东西。所以有几种定位方法,一个是标签定位,标签定位,主要记住tag就是标签的名字,tag就是网页里面的一个标记。都知道这个HTML语言,HTML的全称Hyper text markup标记语言里面就有很多标签标记,Tat有名字叫nodename,nodename里面用的最多的定位的方法,一个是一个单斜杠,表示从根出发去找东西,从树根这出发,然后有双斜杠,双斜杠是表示拟定为一个树枝,然后从这个数值上面所有下面就是说当前下所有的地方去找东西。然后@是给指定一个属性,比如说要那个又圆又粗的那个树枝。要那个弯弯的那个树枝。比较指定这个属性。

这样找东西就比较具体了,@后面主要是指定属性。

Xpath再有定位方法是序列定位。给一个位置关系。上面的单斜杠,双斜杠是从某一个位置出发去找。序列定位已经告诉位置,比如说,[1],那就选取第一个元素。[last()],选最后一个,[last()-1]倒数第二个元素,而且指定的序列位置。

然后再就是轴的一个定位。之间相互的一种上下位关系,比如说当前下面的所有的孩子,当前节点上面所有的parent,父亲,以及自己self等等。这是 Xpath,要来解析网页简介

 

二、Lxml+Xpath——DOM(文档对象模型)

适用于HTML和XML 文档的应用程序编程,定义文档的逻辑结构,就是文档的逻辑结构,以及访问和操作文档的方式。DOM就是一个文档树。

可以把HTML网页帮他转换成DOM文档树,然后还提供了逻辑结构,也提供了一些访问和操作的方法,所以就可以方便从文档树上面去找东西、摘东西。逻辑结构可以看下面这个系统

image.png整个网页,就是一个document。也就构造这个document的树就是文档对象模型的树。数的树根就是整个document。然面元素结点。那么第一个就是HTM就是整个网页的开始,也可以认为就是代表document就是树根,然后再下面,网页下面一般是两部分。一个主体部分是body,整个网页都在body里面,还有一个head头部信息。就是网页里面的title这些,放在head里面。然后body在下面这个内容,那么比如说有分段,分标题等等就是一个内容,内容之间互相连接,构成了整个网页,里面的body,head然后program一个P等等,都是tag标签节点、标记节点 tag是一个名词的nodename,就是一个元素节点。在某一个tag里面再有class等等,这是属性界定,首先是从属于某个tag,再就是在某一个tag直接显示的文字AABB,这就是文本节点,文本信息,就要抓这些文本信息.请求的时候通过HTTP协议然后反馈到浏览器

要用request里面要模拟一个浏览器的这样访问方式,然后呢,一般看到网页的结构是图上的网页结构,再把左边转换成一个文档树。去查网页的时候看到的是HTML构成的网页内容,通过解析以后,转成要的文档树。对于DOM模型,有两个功能,一个是用于HTML和XML文档的应用程序编程接口,也叫做 API,会提供给各种应用,可以用这个模型,进行行业的一个相关操作

主要是做爬虫,从DOM里面去拿东西,如果是编那个网页程序,就叫web程序,比如说做一个基于浏览器的程序,现在电商里面基本上都是通过浏览器访问的,程序里面如何操作页面,操作页面也要用DOM模型。直接可以用javascript中里面做各种操作,像这样一个应用,研究生就要做这样的一些应用,编比如说文本数据的标注系统,图片的标注系统,要用JS来操作页面

image.png可能知道这个web程序可以分为前端和后端。后端可以用PHP等等去开发,用python也可以开发,前端现在用的最多的就是javascript加速度。就是javascript主要是操作页面的内容,去操作文档对象,所以呢,这个文档对象模型不仅仅是在爬虫里面。在网页前端里面也是非常重要的。然后呢?再一个DOM模型,要定义文档的逻辑结构。以便后面访问和操作这个文档。逻辑结构,也就是定义定义文档的结构是一个节点对象树也就是文档对象模型。然后访问方式访问节点对象树。用javascript可以通过里面的一个函数getElementByID,就是每一个网页里的每一个对象一个文本框,都有个ID,通过ID来操作,那个网页里面一个按钮可以通过ID来调用。

再一个就是操作节点数的操作方式.对象树有属性有方法,比如说属性,有ID属性,Class属性,方法就是行为的,行为有oncick这也是DOM的一个功能,提供访问和操作文档的方式。

后面有一个包,叫C06很强大,主要就是直接调用操作方法,直接调用操作方法,模拟在搜索引擎里面什么模拟,往框子里面输关键词,然后模拟去点击查询按钮,才拿到网页内容,比如说要去在百度上面搜有关的某个主题。

比如大数据主题的所有网页,要抓另外一个主题,就不要人工设,只要通过C06,然后通过这些操作方式ID,click,然后自动化的去进行数据的抓取

相关文章
|
11月前
|
数据采集 SQL 分布式计算
81 网站点击流数据分析案例(数据预处理功能)
81 网站点击流数据分析案例(数据预处理功能)
72 0
|
12月前
|
机器学习/深度学习 自然语言处理 算法
文本数据处理:基本技巧与实例分析
文本数据处理:基本技巧与实例分析
338 0
|
11月前
|
数据采集 分布式计算 数据挖掘
80 网站点击流数据分析案例(数据采集功能)
80 网站点击流数据分析案例(数据采集功能)
59 0
|
数据可视化 数据挖掘 数据处理
【数据篇】33 # 可视化数据处理的一般方法是什么?
【数据篇】33 # 可视化数据处理的一般方法是什么?
223 0
【数据篇】33 # 可视化数据处理的一般方法是什么?
|
机器学习/深度学习 算法 数据挖掘
数据分析中常见的10种数据编码方式
数据分析中常见的10种数据编码方式
843 0
数据分析中常见的10种数据编码方式
|
数据采集 开发者 Python
文本数据采集与处理之一 下|学习笔记
快速学习文本数据采集与处理之一 下
文本数据采集与处理之一 下|学习笔记
|
数据采集 JSON JavaScript
文本数据采集与处理之一上|学习笔记
快速学习文本数据采集与处理之一上
文本数据采集与处理之一上|学习笔记
|
数据采集 SQL 数据挖掘
数据预处理-数据解析-总结及预定数据分析|学习笔记
快速学习数据预处理-数据解析-总结及预定数据分析
150 0
数据预处理-数据解析-总结及预定数据分析|学习笔记
|
存储 数据采集 弹性计算
SLS 初体验:采集、加工、查询分析及可视化(二)| 学习笔记
快速学习 SLS 初体验:采集、加工、查询分析及可视化。
240 0
SLS 初体验:采集、加工、查询分析及可视化(二)| 学习笔记
|
存储 运维 监控
SLS 初体验:采集、加工、查询分析及可视化(一)| 学习笔记
快速学习 SLS 初体验:采集、加工、查询分析及可视化。
347 0
SLS 初体验:采集、加工、查询分析及可视化(一)| 学习笔记
下一篇
无影云桌面