在这篇文章中,我将向你展示如何使用Python和lxml库从豆瓣网站下载图片。我们将使用requests库来发送HTTP请求,使用lxml库来解析HTML文档,并使用os库来处理文件和目录。
1.python和xml介绍
Python 是一种高层次的结合了解释性、编译性、互动性和面向对象的脚本语言1。Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构1。Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节1。Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码1。Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术1。Python 是初学者的语言: Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏1。
XML(eXtensible Markup Language)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的2。XML 被设计用来传输和存储数据2。XML 指可扩展标记语言(eXtensible Markup Language)。可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的2。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等2。
从这个图中,你可以看到 Python 和 XML 之间有三种主要的解析方式:ElementTree,SAX 和 DOM1。ElementTree 是一种轻量级的 DOM,它提供了一些简单而有效的 API 来操作 XML 数据2。SAX 是一种基于事件驱动的 API,它通过触发回调函数来处理 XML 数据1。DOM 是一种将 XML 数据在内存中解析成一个树的 API,它可以对树进行各种操作1。
每种解析方式都有自己的优缺点,你可以根据你的需求和场景来选择合适的方式。一般来说,ElementTree 比较适合处理简单和小型的 XML 文件,SAX 比较适合处理大型和复杂的 XML 文件,DOM 比较适合处理需要频繁修改的 XML 文件3。
Python 还提供了一些函数和类来创建和操作 XML 元素,如 parse,fromstring,write,tostring,Element 等2。这些函数和类可以让你方便地读取,修改,生成和输出 XML 数据。你可以通过这些函数和类的属性和方法来访问和操作 XML 元素的标签,属性,文本,子元素等2。
我希望这个关系图谱能够帮助你更好地理解 Python 和 XML 的关系。
2.爬取网站信息
当我们在豆瓣看到喜欢的图片时,想下载下来收藏,很多图片一个一个下载很麻烦。我们就可以用python帮我批量下载,可以节省很多时间。
我们就要以周星驰 Stephen Chow的图片为例:https://movie.douban.com/celebrity/1048026/photos/?type=C&start=