使用BeautifulSoup解析表和XML

使用BeautifulSoup解析表和XML

使用BeautifulSoup解析表和XML

  Python编程中的解析意味着将一团文本分解成更小且有意义的部分。 这种分解取决于特定解析器定义的某些规则和因素。 这些解析器的范围可以从逐行解析的本机字符串方法到诸如 html5lib,它可以解析 HTML 文档的几乎所有元素,将其分解为不同的标签和片段,可以针对各种用例过滤掉这些元素。

使用BeautifulSoup解析表和XML

  抓取是每个人都应该学习的一项非常重要的技能,它可以帮助我们从网站或文件中抓取数据,本文我们晓得博客为你介绍使用BeautifulSoup解析表和XML的全部内容,在深入研究之前对这两个库进行概述。

  推荐:如何使用BeautifulSoup抓取网页

Python中解析器

  Html5lib 和 lxml 是一个 Python 库,可以轻松处理 XML 和 HTML 文件,也可用于网页抓取。有很多现成的 XML 解析器,但为了获得更好的结果,开发人员有时更喜欢编写自己的 XML 和 HTML 解析器。由于 html5lib是一个纯 python 库,它具有外部 Python 依赖关系,而 lxml某些 C 库的绑定具有外部 C 依赖关系。

  lxmlC库的成熟的 Pythonic 绑定 libxml2libxslt. 它的独特之处在于它将这些库的速度和 XML 功能完整性与原生 Python API 的简单性相结合,大部分兼容但优于众所周知的 ElementTree火。

  lxml 安装:

pip install lxml

  bs4: Beautiful Soup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据。 可以使用以下命令安装它:

pip install bs4

  request: Requests 允许您非常轻松地发送 HTTP/1.1 请求。 可以使用以下命令安装它:

pip install requests

  推荐:零基础如何开始学习Python

BeautifulSoup解析表的方法

  第 1 步: 首先,我们需要导入模块,然后分配 URL。

# import required modules
import bs4 as bs
import requests

# assign URL
URL = 'https://www.geeksforgeeks.org/python-list/'

  第 2 步: 创建一个 BeautifulSoap 对象进行解析。

# parsing
url_link = requests.get(URL)
file = bs.BeautifulSoup(url_link.text, "lxml")

  第 3 步: 然后找到表及其行。

# find all tables
find_table = file.find('table', class_='numpy-table')
rows = find_table.find_all('tr')

  第 4 步: 现在创建一个循环来查找表中的所有 td 标签,然后打印所有表数据标签。

# display tables
for i in rows:
	table_data = i.find_all('td')
	data = [j.text for j in table_data]
	print(data)

  使用BeautifulSoup解析表和XML方法的完整程序:


import bs4 as bs
import requests

# assign URL
URL = 'https://www.geeksforgeeks.org/python-list/'

# parsing
url_link = requests.get(URL)
file = bs.BeautifulSoup(url_link.text, "lxml")

# find all tables
find_table = file.find('table', class_='numpy-table')
rows = find_table.find_all('tr')

# display tables
for i in rows:
	table_data = i.find_all('td')
	data = [j.text for j in table_data]
	print(data)

  输出:

BeautifulSoup解析表的方法

BeautifulSoup解析XML文件的方法

  第 1 步: 在继续之前,您可以创建自己的“xml 文件”,也可以复制并粘贴以下代码,并将其命名为 test.xml 文件。

<?xml version="1.0" ?>
<books>
  <book>
    <title>Introduction of Beautifulsoup</title>
    <author>Beautifulsoup tutorial</author>
    <price>6.99</price>
  </book>
  <book>
    <title>Introduction of NumPy</title>
    <author>NumPy tutorial</author>
    <price>8.99</price>
  </book>
  <book>
    <title>Introduction of Pycharm</title>
    <author>Pycharm tutorial</author>
    <price>9.35</price>
  </book>
</books>

  第 2 步: 创建一个 python 文件并导入模块。

# import required modules
from bs4 import BeautifulSoup

  第 3 步: 读取 XML 的内容。

# reading content
file = open("test.xml", "r")
contents = file.read()

  第 4 步: 解析 XML 的内容。

# parsing
soup = BeautifulSoup(contents, 'xml')
titles = soup.find_all('title')

  步骤 5: 显示 XML 文件的内容。

# parsing
soup = BeautifulSoup(contents, 'xml')
titles = soup.find_all('title')

  使用BeautifulSoup解析表和XML方法的完整程序:

# import required modules
from bs4 import BeautifulSoup

# reading content
file = open("test.xml", "r")
contents = file.read()

# parsing
soup = BeautifulSoup(contents, 'xml')
titles = soup.find_all('title')

# display content
for data in titles:
	print(data.get_text())

  输出:

BeautifulSoup解析XML文件的方法

总结

  以上是晓得博客为你介绍的使用BeautifulSoup解析表和XML的全部内容,可以很容易观察两个库在文档的解析方面的差异。

  推荐:BeautifulSoup使用教程


晓得博客,版权所有丨如未注明,均为原创
晓得博客 » 使用BeautifulSoup解析表和XML

转载请保留链接:https://www.pythonthree.com/parsing-tables-and-xml-with-beautifulsoup/

滚动至顶部