『python爬虫』解析HTML代码(保姆级注释)


欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中

xml和html

XML(eXtensible Markup Language)和HTML(Hypertext Markup Language)都是标记语言,它们在某些方面相似,但也有很多不同之处。下面是它们之间的一些主要区别和共同点:

  • 相似性:

XML和HTML都使用标记语言的形式来组织和描述数据。
它们都使用标签(尖括号包围的元素名称)和属性(键值对)来定义文档结构和内容。
用途:

HTML主要用于创建网页和网页内容的呈现,它包含了用于定义文本、图像、链接和其他元素的标记,以及用于样式和布局的CSS(层叠样式表)。
XML旨在传输和存储数据,而不是描述数据的外观或样式。它的设计目的是促进不同系统之间的数据交换和共享。

  • 语法:

HTML具有预定义的标签和语法结构,用于定义页面的结构和内容。它有严格的规则,包括必须有正确的标签嵌套和封闭。
XML没有预定义的标签,允许用户根据需要创建自定义标签和标记。XML语法更灵活,只需要遵循基本的标签嵌套规则。

  • 数据描述:

HTML描述了网页的结构和内容,其中包括文本、图像、链接等。它的主要目的是以易于理解和浏览的方式呈现信息。
XML描述了数据的结构和含义,但不涉及外观或样式。它可以用于表示任何类型的数据,例如配置文件、数据库导出、文档标记等。

  • 应用领域:

HTML主要用于Web开发和网页设计,用于创建交互式的网页和在线应用程序。
XML在数据交换、配置文件、数据存储和Web服务等领域有广泛应用,尤其在跨平台数据交换和应用集成方面。

XML和HTML虽然都是标记语言,但用途、语法和应用场景有所不同。HTML用于网页设计和内容呈现,而XML用于数据交换和描述。

解析本地html文件

准备好html文件

访问url然后ctrl+s保存网页为发现你走远了-CSDN博客.html文件

https://blog.csdn.net/u011027547

在这里插入图片描述

安装库

lxml是一个用于解析XML和HTML文档的Python库,它基于C语言的libxml2和libxslt库,提供了高性能和丰富的功能。lxml库具有以下特点和优势:

性能高效:由于底层使用C语言库进行解析和处理,lxml具有很高的性能。它快速地解析和处理大型XML文档,适用于处理复杂的数据结构和大量数据。

支持XPath和XSLT:lxml支持XPath(XML Path Language)和XSLT(eXtensible Stylesheet Language Transformations),使得在XML文档中进行快速、灵活的数据查找和转换成为可能。

丰富的功能:除了基本的XML和HTML解析功能外,lxml还提供了许多高级功能,如XML Schema验证、命名空间支持、文档修改和序列化等。

易于使用:lxml提供了简单直观的API,易于学习和使用。它提供了许多方便的方法来遍历和操作XML文档中的元素和属性。

稳定可靠:lxml是一个成熟的库,在Python社区中得到了广泛的应用和认可。它的稳定性和可靠性经过了长期的验证和改进。

pip install lxml

将本地HTML文件解析为html

html=etree.parse(path,parse)

from lxml import etree
#解析本地HTML文件
path=r'发现你走远了-CSDN博客.html'
parse=etree.HTMLParser()									#创建HTMLParser对象
html=etree.parse(path,parse)								#解析文件
text=etree.tostring(html,encoding='utf-8').decode('utf-8')	#转换为字符串并编码,再解码为HTML代码
print(text)

解析字符串为html

html=etree.HTML(html_str)

from lxml import etree
#解析字符串HTML代码
path=r'发现你走远了-CSDN博客.html'
with open(path,'r',encoding='utf-8') as f:#按行读取文件内容为字符串
    html_str=f.read()
html=etree.HTML(html_str)
text=etree.tostring(html,encoding='utf-8').decode('utf-8')
print(text)


解析requests爬虫得到的html

在这里插入图片描述

from lxml import etree
import requests

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0'}

url="https://blog.csdn.net/u011027547"

response=requests.get(url,headers=headers)


# 检查响应状态码
if response.status_code == 200:
    print('请求成功!',response.status_code)
    # 获取响应内容
    html_str=response.text
    print("html_str",html_str)
    html = etree.HTML(html_str)
    etree_text = etree.tostring(html, encoding='utf-8').decode('utf-8')
    print("etree_text",etree_text)
else:
    print('请求失败!',response.status_code)


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2023 mzh

Crated:2023-3-1

欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中
『未完待续』


为了在Windows安装ADB工具,你可以按照以下步骤进行操作: 1. 首先,下载ADB工具包并解压缩到你自定义的安装目录。你可以选择将其解压缩到任何你喜欢的位置。 2. 打开运行窗口,可以通过按下Win+R键来快速打开。在运行窗口中输入"sysdm.cpl"并按下回车键。 3. 在系统属性窗口中,选择"高级"选项卡,然后点击"环境变量"按钮。 4. 在环境变量窗口中,选择"系统变量"部分,并找到名为"Path"的变量。点击"编辑"按钮。 5. 在编辑环境变量窗口中,点击"新建"按钮,并将ADB工具的安装路径添加到新建的路径中。确保路径正确无误后,点击"确定"按钮。 6. 返回到桌面,打开命令提示符窗口。你可以通过按下Win+R键,然后输入"cmd"并按下回车键来快速打开命令提示符窗口。 7. 在命令提示符窗口中,输入"adb version"命令来验证ADB工具是否成功安装。如果显示版本信息,则表示安装成功。 这样,你就成功在Windows安装ADB工具。你可以使用ADB工具来执行各种操作,如枚举设备、进入/退出ADB终端、文件传输、运行命令、查看系统日志等。具体的操作方法可以参考ADB工具的官方文档或其他相关教程。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [windows环境安装adb驱动](https://blog.csdn.net/zx54633089/article/details/128533343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Windows安装使用ADB简单易懂教程](https://blog.csdn.net/m0_37777700/article/details/129836351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发现你走远了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值