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

简介: 快速学习文本采集与数据处理之一中

开发者学堂课程【高校精品课-华东师范大学 - 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,然后自动化的去进行数据的抓取

相关文章
|
存储 算法 Oracle
极致八股文之JVM垃圾回收器G1&ZGC详解
本文作者分享了一些垃圾回收器的执行过程,希望给大家参考。
|
3月前
|
JSON 数据安全/隐私保护 开发者
淘宝 item_search 接口对接全攻略:从入门到精通
本文详解淘宝开放平台item_search接口的对接流程与实战技巧,涵盖参数配置、签名生成、Python调用示例、分页处理、错误调试及最佳实践,助开发者快速构建合规高效的商品搜索功能。
|
网络协议 网络安全
|
机器学习/深度学习 监控 搜索推荐
从零开始构建:使用Hologres打造个性化推荐系统的完整指南
【10月更文挑战第9天】随着互联网技术的发展,个性化推荐系统已经成为许多在线服务不可或缺的一部分。一个好的推荐系统可以显著提高用户体验,增加用户粘性,并最终提升业务的转化率。本指南将详细介绍如何使用阿里云的Hologres数据库来构建一个高效的个性化推荐系统。我们将涵盖从数据准备、模型训练到实时推荐的整个流程。
788 0
|
文字识别 数据安全/隐私保护
PDF-XChange Editor v10.2.1.386
PDF-XChange Editor,号称打开速度最快最强大的PDF编辑器/PDF阅读器,PDF-XChange专注于PDF文档的编辑,打开PDF文件速度快,软件小功能强大,可以自定义制作PDF电子文档,具有创建,查看,编辑,注释,审阅,添加水印,签名保护,PDF格式转换,PDF文档打印,扫描仪识别,OCR识别页面等功能。
401 1
PDF-XChange Editor v10.2.1.386
|
SQL 关系型数据库 MySQL
proxysql修改默认系统配置
proxysql修改默认系统配置
259 0
|
数据可视化 JavaScript 前端开发
使用ECharts创建动态数据可视化图表
使用ECharts创建动态数据可视化图表
|
安全 物联网 智能硬件
低功耗广域网的代表主要有LORA和NB-IOT和TPUNB
本文对比介绍了三种低功耗广域网技术——LoRa、NB-IoT和TPUNB。LoRa利用扩频技术实现远距离、低功耗通信,适用于智能城市和环境监测。NB-IoT基于蜂窝网络,提供广覆盖和长电池寿命,常用于智能电表和智能停车。TPUNB是技象科技的自主LPWAN技术,具备高安全性和抗干扰性,适用于智慧城市和工业物联网。这些技术各有优势,满足不同场景需求,推动了物联网的发展。
1222 1
|
机器学习/深度学习 人工智能 Cloud Native
AI驱动光通信网络技术发展, 阿里云在OFC2024发表多个创新成果和报告
AI驱动光通信网络技术发展, 阿里云在OFC2024发表多个创新成果和报告
|
Oracle 关系型数据库 Shell
Oracle 19C RPM安装及创建非容器数据库
Oracle 19c rpm安装及创建非容器数据库
1967 0