开始学习崔庆才的《Python3网络爬虫开发实战》

里面有段有趣的html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>This is a Demo</title> #显示
</head>
<body>
<div id="container">
<div class="wrapper">
<h2 class="title">Hello Wolrd</h2> #显示
<p class="text">Hello, my name is Jieyun, you can call me June.</p> #显示
</div>
</div>
</body>
</html>

下面贴一下上面这段程序最后保存为.html格式后的显示效果

<head> </head>中间的<title>This is a Demo</title>显示在网页标签中
<body></body>中间的<h2 class="title">Hello Wolrd</h2>显示的为网页内容的标题
<body></body>中间的<p class="text">Hello, my name is Jieyun, you can call me June.</p>显示的是网页中的主题内容

记录一下这个容易理解的html可以以一种简单的视角切入到html理解中。

解析html内容第一步,如何根据网页节点选择需要的内容

上面的html中有一句<div id="container">,div节点的id为container,那么想要选择整个<div id="container"></div>做包含的内容时,可以写.select(#container)(这是BeautifulSoup中利用select进行选择)
简单粗暴点,选择时id="container"写成.select(#container)class="wrapper"写成.select(.wrapper)
如何提取到

Hello, my name is Jieyun, you can call me June.

这句话呢?

剥洋葱,一层剥一层,.select(#container .wrapper p)就能准确定位到上面那句话。

那么标题怎么选择定位呢?
当然是.select(#container .wrapper h2)了,光说不练假把式,我们用Python3来完成整个过程吧。

Python3的内容选择

步骤:
1 首先建立按照上述第一段代码写个txt,再保存为html格式
2 利用BeautifulSoup+select完成内容选择

下面这段程序首先参考了程序来源,因为我只get过url,没有直接从本地打开过html,我百度了【python从本地读取html文件】,在源程序的基础上改了一点,不影响本真操作,毕竟只是为了得到soup再完成select选择这一功能

from bs4 import BeautifulSoup
file=open(r'C:\Users\gui\Desktop\CSDN\simpleHtml.html') #打开html
Soup = BeautifulSoup(file.read(), 'lxml') #file本身是一个HTTPResponse类型的对象,通过调用它的read属性返回网页内容
title=Soup.select('#container .wrapper h2') #定位标题
context=Soup.select('#container .wrapper p') #定位主体内容
print(title[0].text)
print(context[0].text)

下面是执行结果:

Python之解析html内容相关推荐

  1. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  2. 用Python提取解析pdf文档中内容

    用Python提取解析pdf文档中内容 文章目录: 参考: 1.https://blog.csdn.net/tmaczt/article/details/82876018 # Tika库 2.http ...

  3. 【Python beautiful soup】如何用beautiful soup 解析HTML内容

    美丽汤(Beautiful Soup)是一个流行的Python库,用于从HTML或XML文件中提取数据.它将复杂的HTML文件转化为一个Python对象,使得用户可以更方便地解析.搜索和修改HTML内 ...

  4. Python实现IMAP协议接收并解析邮件内容

    Python实现IMAP协议接收并解析邮件内容 **前言:**昨天接到这个任务,然后搜索了很多资料和博客去看,这些资料链接我会放在本文后面 一.开通IMAP服务 我以网页邮箱(163邮箱为例) 1.登 ...

  5. python使用pdfminer解析页面内容,得到内容的详细坐标

    官方文档地址:https://pdfminersix.readthedocs.io/en/latest/reference/index.html github地址:https://github.com ...

  6. 了解女友的心还不如了解Python之在Python中解析和修改XML

    2021年12月15日 10:14 ·  阅读 30 摘要: 工作中我们时常需要解析用不同语言编写的数据.Python 提供了许多库来解析或拆分用其他语言编写的数据.在这篇 Python XML 解析 ...

  7. python列表解析的新方法

    python 列表解析我感觉是python非常灵活的一个地方,一开始接触它的时候,特别是之前学过其它的语言, 你会感觉很不习惯,怎么看怎么不对劲,老是觉的哪个地方怪怪的,这就是列表解析的魔力所在. p ...

  8. 如何在Python中解析YAML文件

    如何在Python中解析YAML文件? #1楼 不依赖C标头的最简单,最纯净的方法是PyYaml( 文档 ): #!/usr/bin/env pythonimport yamlwith open(&q ...

  9. python xml解析dom_如何解析python中表示xml.dom.minidom节点的字符串?

    我有一个使用xml.dom.minidom创建的nodes xml.dom.Node对象的集合.通过使用Node对象的toxml()方法将它们转换为字符串,我将它们(单独)存储在数据库中. 问题是,有 ...

最新文章

  1. UIAutomator简介
  2. jsp mysql优点_asp、php、asp.net、jsp的介绍和各自的优缺点
  3. pip 安装模块时报“pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonh”
  4. 选数 2002年NOIP全国联赛普及组
  5. GMSSL双证书认证C/S(Linux版)
  6. 2022Java学习笔记十二(数组的遍历,数组遍历求和,数组排序,数组随机排名案例,数组猜数字游戏案例,数组求最大值案例,数据遍历求和案例)
  7. Ubuntu交叉编译U-boot
  8. AMD AM4主板首曝:A320芯片组 惠普打造
  9. 产品破局思考:一个思维,一种策略
  10. python ln()怎么实现_python循序渐进_python简介
  11. Android——AndroidStudio主题样式、字体设置
  12. 远程桌面协议 (RDP)
  13. matlab考试复习题
  14. 凯新生物高分子FITC-PEG-NHS的简介,Fluorescein-PEG-NHS
  15. 开源地图编辑器 Marble Map
  16. 毕设微信小程序之访问ssm后台连接数据库
  17. python 画虚线_Python数据可视化 - matplotlib
  18. 区块链入门系列之共识算法
  19. csv和excel php 解析_php读取csv中文
  20. 微信 发放代金券 api

热门文章

  1. Word | Word里如何插入符合格式要求的参考文献
  2. hdu2602 骨头收集者 01背包 模板题
  3. 人生大事聚焦到这5200个空格里是一种什么体验?
  4. HDMI之TMDS通道
  5. C语言-老鼠走迷宫(深度寻路算法)
  6. 页面强制全屏,且退出全屏提示用户无法退出
  7. kafka rebalance机制详解
  8. DICOM文件即内部信息的读取
  9. MEA和PEM燃料电池市场现状及未来发展趋势分析
  10. 2021-06-20-刘铁猛C#语言入门详解-学习笔记P20、21、22事件详解