返回介绍

3.1 网页解析概述

发布于 2025-04-21 19:15:26 字数 2133 浏览 0 评论 0 收藏

3.1.1 常用网页解析工具

除了学会向服务器发出请求、下载 HTML 源码,要获取结构化的数据还面临着一个最常见的任务,就是从 HTML 源码中提取数据。第 1 章曾经介绍过 Python 中解析网页主要用到 3 种工具 - 正则表达式、Lxml 库、Beautiful Soup。

鉴于以上 3 种工具的特点,本章重点讲解使用 Lxml 库和其使用的 XPath 语法,因为 XPath 基本上能满足从 HTML 网页中提取信息的绝大部分需求,而且简单、易于掌握,解析速度也快。本章也会简单讲解 Beautiful Soup 和正则表达式,读者在需要的时候可以继续查阅相关文档,深入学习。

3.1.2 HTML 源码简介

HTML 是一种超文本标记语言,简单理解就是为某些字句加上标志的语言,从而实现预期的特定效果,网页正是由这种 HTML 语言所编写出来的。作为一种标记语言,基本上只要明白各种标记的用法就算学会了 HTML。

HTML 的语法格式分为嵌套与非嵌套两类,嵌套格式为<标记>…</标记>,非嵌套仅有<标记>。此外,根据标记的不同,有的标记附带有属性参数,则表示为

<标记 属性="参数值"> 

下面通过 Scrapy 文档服务器的一个样例页面来讲解一下 HTML 源码。

<html>
  <head> 
    <base href='http://example.com/'/> 
    <title>Example website</title> 
  </head> 
<body> 
   <div id='images'> 
    <a href='image1.html'>Name: My image 1 <br/><img src='image1_thumb.
jpg'/></a> 
    <a href='image2.html'>Name: My image 2 <br/><img src='image2_thumb.
jpg'/></a> 
    <a href='image3.html'>Name: My image 3 <br/><img src='image3_thumb.
jpg'/></a> 
    <a href='image4.html'>Name: My image 4 <br/><img src='image4_thumb.
jpg'/></a> 
    <a href='image5.html'>Name: My image 5 <br/><img src='image5_thumb.
jpg'/></a> 
   </div> 
</body> 
</html> 

1. <html></html>标签

<html></html>这一对标签之间的内容描述整个网页。

2. HTML 文档的头部

位于<head></head>中的内容就是 HTML 文档的头部,其中除了网页标题<title>Example website</title>显示在浏览器顶端之外,其他内容并不通过浏览器直接显示给用户,而是有其他的作用。

头部元素也有从文档外部来声明的属性,如 CSS(层叠式样表)等。

3. 网页主体内容

位于<body></body>之间的所有内容是一个网页的主体,也就是浏览器窗口中可以出现的所有信息。

4. 链接

<a href="网址">链接名称</a>创建了一个指向“网址”的超链接,其显示为“链接名称”。

5. <div></div>标签

<div></div>这一对标签用来排版大块 HTML 段落。

6. </br>

</br>为断行的标签。

这里只是对 HTML 文档的代码做一个大致的介绍,目的在于让读者对 HTML 代码有一定的感性认识。下节开始介绍使用 XPath 语法从 HTML 源码中提取信息的方法。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。