赞
踩
lxml是一款高性能的 Python HTML/XML 解析器,我们可以利用XPath,来快速的定位特定元素以及获取节点信息
XPath,全称为XML Path Language,是一种用于在XML文档中进行导航和数据提取的语言,可用来在 HTML\XML 文档中对元素和属性进行遍历。
W3School官方文档:http://www.w3school.com.cn/xpath/index.asp
知识点:
HTML(HyperText Markup Language)和XML(eXtensible Markup Language)都是用于描述数据的标记语言,但它们之间存在一些关键的区别:
目的:
标准性:
<p>
、<div>
、<a>
等。结构性:
数据表示:
样式和行为:
错误容忍度:
文档类型:
应用范围:
命名空间:
扩展性:
尽管HTML和XML在某些方面相似,但它们的设计目标和使用方式有着根本的不同。HTML专注于网页内容的展示,而XML则是一种更为通用的数据交换格式。
<bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
知识点:
每个XML的标签我们都称之为节点,其中最顶层的节点称为根节点。
XPath(XML Path Language)是一种用于在XML文档中进行导航的语言,它允许你选择节点或节点集,并对它们进行操作。在XPath中,节点是文档结构的基本单元,包括以下几种类型:
<book>
、<title>
等。<book lang="English">
中的lang="English"
。<name>John Doe</name>
中的John Doe
。<?xml-stylesheet type="text/xsl" href="style.xsl"?>
。在XPath中,节点之间的关系可以描述如下:
<parent><child/></parent>
中,<parent>
是<child>
的父节点。<child>
是<parent>
的子节点。<parent><child1/><child2/></parent>
中,<child1>
和<child2>
互为兄弟节点。<grandparent><parent><child/></parent></grandparent>
中,<grandparent>
和<parent>
都是<child>
的祖先节点。<child>
是<grandparent>
和<parent>
的后代节点。XPath提供了丰富的路径表达式和函数,允许用户根据这些节点关系来选择和操作XML文档中的特定部分。例如,使用//
可以选取文档中的所有后代节点,无论它们位于文档的哪个位置。使用/
可以选取根节点的子节点,而.
代表当前节点。
注意:
这些工具是用来学习xpath语法的,他们都是从elements中匹配数据,elements中的数据和url地址对应的响应不相同,所以在代码中,不建议使用这些工具进行数据的提取
知识点
我们将在下面的例子中使用这个 XML 文档。
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。
使用chrome插件选择标签时候,选中时,选中的标签会添加属性class=“xh-highlight”
下面列出了最有用的表达式:
表达式 | 描述 |
---|---|
nodename | 选中该元素。 |
/ | 从根节点选取、或者是元素和元素间的过渡。 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
. | 选取当前节点。 |
… | 选取当前节点的父节点。 |
@ | 选取属性。 |
text() | 选取文本。 |
在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:
路径表达式 | 结果 |
---|---|
bookstore | 选择bookstore元素。 |
/bookstore | 选取根元素 bookstore。注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径! |
bookstore/book | 选取属于 bookstore 的子元素的所有 book 元素。 |
//book | 选取所有 book 子元素,而不管它们在文档中的位置。 |
bookstore//book | 选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。 |
//book/title/@lang | 选择所有的book下面的title中的lang属性的值。 |
//book/title/text() | 选择所有的book下面的title的文本。 |
接下来我们听过豆瓣电影top250的页面来练习上述语法
https://movie.douban.com/top250
//h1/text()
//a/@href
/html/head/title/text()
/html/head/link/@href
但是当我们需要选择所有的电影名称的时候会特别费力,通过下一小节的学习,就能够解决这个问题
路径表达式 | 结果 |
---|---|
//title[@lang=“eng”] | 选择lang属性值为eng的所有title元素 |
/bookstore/book[1] | 选取属于 bookstore 子元素的第一个 book 元素。 |
/bookstore/book[last()] | 选取属于 bookstore 子元素的最后一个 book 元素。 |
/bookstore/book[last()-1] | 选取属于 bookstore 子元素的倒数第二个 book 元素。 |
/bookstore/book[position()>1] | 选择bookstore下面的book元素,从第二个开始选择 |
//book/title[text()=‘Harry Potter’] | 选择所有book下的title元素,仅仅选择文本为Harry Potter的title元素 |
/bookstore/book[price>35.00]/title | 选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。 |
注意点:
在xpath中,第一个元素的位置是1,最后一个元素的位置是last(),倒数第二个是last()-1
XPath 通配符可用来选取未知的 XML 元素。
通配符 | 描述 |
---|---|
* | 匹配任何元素节点。 |
@* | 匹配任何属性节点。 |
node() | 匹配任何类型的节点。 |
在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
路径表达式 | 结果 |
---|---|
/bookstore/* | 选取 bookstore 元素的所有子元素。 |
//* | 选取文档中的所有元素。 |
//title[@*] | 选取所有带有属性的 title 元素。 |
通过在路径表达式中使用“|”运算符,您可以选取若干个路径。
在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
路径表达式 | 结果 |
---|---|
//book/title | //book/price | 选取 book 元素的所有 title 和 price 元素。 |
//title | //price | 选取文档中的所有 title 和 price 元素。 |
/bookstore/book/title | //price | 选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。 |
//
标签[@属性 = '值']
@属性值
text()
《AI绘画与摄影实战108招:ChatGPT+Midjourney+文心一格》
《AI绘画与摄影实战108招:ChatGPT Midjourney 文心一格》通过10个专题内容、108个实用技巧、120多分钟教学视频,讲解了AI绘画与摄影的相关知识,随书附赠了108集同步教学视频、50多个素材效果、260多个书中案例关键词、5200个绘画关键词等。具体内容按以下两条线展开。
一是技能线:详细讲解了ChatGPT关键词的挖掘方法、文心一格的绘画技巧、常见的AI构图与光线色调指令、Midjourney常用的绘图指令,以及AI绘图的4种方法。
二是案例线:介绍了人物摄影、动物摄影、植物摄影、建筑摄影、慢门摄影、星空摄影、航拍摄影、全景摄影、风光摄影、人文摄影、产品摄影、时尚摄影等多种热门摄影的知识。
本书由浅入深,以实战为核心,既适合摄影师、绘画爱好者、设计师、插画师、漫画家、电商商家、艺术工作者等阅读,又可作为相关院校的教材。
购买链接:https://product.dangdang.com/29723004.html
高效绘图! 10章核心内容,ChatGPT结合Midjourney与文心一格,实现AI全方位作品生成!
实战案例! 50多个素材效果+108招干货技巧+260多个指令关键词 5200款绘画关键词,实操实练,秒变AI绘画高手!
视频教学! 赠送108集教学视频,扫描二维码可随时随地全程查看操作过程,让学习更轻松!
《AI绘画与摄影实战108招:ChatGPT Midjourney 文心一格》通过10个专题内容、108个实用技巧、120多分钟教学视频,讲解了AI绘画与摄影的相关知识,随书附赠了108集同步教学视频、50多个素材效果、260多个书中案例关键词、5200个绘画关键词等。具体内容按以下两条线展开。
一是技能线:详细讲解了ChatGPT关键词的挖掘方法、文心一格的绘画技巧、常见的AI构图与光线色调指令、Midjourney常用的绘图指令,以及AI绘图的4种方法。
二是案例线:介绍了人物摄影、动物摄影、植物摄影、建筑摄影、慢门摄影、星空摄影、航拍摄影、全景摄影、风光摄影、人文摄影、产品摄影、时尚摄影等多种热门摄影的知识。
本书由浅入深,以实战为核心,既适合摄影师、绘画爱好者、设计师、插画师、漫画家、电商商家、艺术工作者等阅读,又可作为相关院校的教材。
石头,零点画室创始人,资深摄影师,省级摄影家协会会员,毕业于湖南工艺美术学院,参与过《蓝猫总动员》的创作,2022年远赴日本、美国学习AI绘画技术,对Midjourney、Stable Diffusion有着丰富的实战经验,尤喜动漫风、中国风效果的绘制。
目 录
第1章.文案生成:ChatGPT摄影应用……………………………001
1.1 掌握关键词的挖掘技巧……002
001 使用ChatGPT进行对话 …002
002 使用特定关键词提升逻辑性 …003
003 使用关键词拓宽思维广度 …004
004 提供详细要求获取答案 …006
005 提供实例说明需求 …007
006 通过扮演角色获取答案 …008
1.2 生成AI绘画关键词……010
007 直接提问获取关键词 …011
008 通过对话不断获取关键词 …013
009 区分中、英文关键词 …016
1.3 生成AI摄影关键词……019
在数字化时代,AI技术的发展对经济产生了巨大影响。它改变了生产、制造和服务行业,提高了生产效率,降低了成本,创造了新的商业模式。随着ChatGPT、Midjourney和文心一格等AI工具的出现和发展,AI绘画技术逐渐开始创作出各种新颖、独特的艺术作品,为艺术家提供了新的创作工具和灵感,帮助艺术家突破传统的创作限制。然而,目前市场上关于AI绘图工具的资料和书籍还相对稀缺。
秉持着响应国家科技兴邦、实干兴邦的精神,我们致力于为读者提供一种全新的学习方式,使其能够更好地适应时代发展的需要。本书结合ChatGPT与Midjourney、文心一格等多种AI绘图工具,为读者提供了108个实用技巧,从关键词提取到图片的制作生成,从讲解基础绘图参数到运用参数进行实战,帮助读者全方位熟悉AI绘图工具,使读者能够在日常生活中充分利用AI技术,体验人工智能在绘画和摄影中的潜力和价值。
综合来看,本书有以下3个亮点。
(1)实战干货。本书提供了108个实用的技巧和实例,涵盖了ChatGPT的关键词提取、文心一格的操作方法、全面大量的AI绘图指令和AI绘图操作步骤等各个方面的内容。这些实战干货可以帮助读者快速掌握AI绘画和AI摄影的核心技能,并将其应用到实际工作场景中。同时,本书还针对每个技巧进行了详细的说明和演示,并辅以360多张彩插图解实例操作过程,以便读者更好地理解和应用所学知识。
(2)视频教学。本书为所有操作案例录制了同步的高清教学视频,共108集,120多分钟,读者可以用手机扫码,边看边学,边学边用。
(3)物超所值。本书介绍了3款软件,读者花1本书的钱,可以同时学习3款软件的精华,并且随书赠送了50多个素材效果、260多个书中案例关键词、5200个绘画关键词,方便读者进行实战操作练习,提高自己的绘图技能。
特别提示:
(1)版本更新:本书在编写时,是基于当时各种AI工具和软件的界面截取的实际操作图片,但本书从编辑到出版需要一段时间,这些工具的功能和界面可能会有所变动,请在阅读时,根据书中的思路举一反三进行学习。其中,ChatGPT为3.5版,Midjourney为5.2版。
(2)指令的称谓:指令又称为关键词、描述词、提示词或“咒语”,它是我们与AI模型进行交流的机器语言,书中在不同场合使用了不同的称谓,主要是为了让大家更好地理解这些行业用语,避免一叶障目。另外,很多关键词暂时没有对应的中文翻译,强行翻译为中文也会让人无法理解AI模型。
(3)指令的使用:在Midjourney中,尽量使用英文指令,对于英文单词的格式没有太多要求,如首字母大小写不用统一、单词顺序不用太讲究等。但需要注意的是,每个指令中间最好添加空格或逗号,同时所有的标点符号使用英文字体。另外,需要特别注意的是,即使是相同的指令,AI模型每次生成的文案或图片内容也会有差别。
(4)特别提醒:尽管ChatGPT具备强大的模拟人类对话的能力,但由于其是基于机器学习的模型,因此在生成的文案中仍然会存在一些语法错误,读者需根据自身需求对文案进行适当修改或再加工后方可使用。
本书由石头编著,参与编写的人员还有刘阳洋,在此表示感谢。由于作者水平有限,书中难免存在疏漏之处,恳请广大读者批评、指正。读者可扫描封底“文泉云盘”二维码获取作者联系方式,与我们沟通交流。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。