beautifulsoup爬取网页中的表格_Python 爬虫基础教程——BeautifulSoup抓取入门

本文介绍了Python库BeautifulSoup的安装、解析器、对象类型和常用方法,包括遍历文档树、搜索文档树,如find_all()。通过实例展示了如何爬取网页表格数据,强调了lxml作为解析器的高效性。
摘要由CSDN通过智能技术生成
7a163f628dcb6f92f6ca1a8ed1547c0f.png

点击上方蓝色文字关注我们吧

c95f9395545b9fe685067491eb7ff18f.png

有你想要的精彩

c496e5286e9f2d5e053b1f69aa1c2c41.png

作者 | 東不归 出品 | Python知识学堂

大家好,上篇推文介绍了爬虫方面需要注意的地方、使用vscode开发环境的时候会遇到的问题以及使用正则表达式的方式爬取页面信息,本篇内容主要是介绍BeautifulSoup模块的使用教程。

BeautifulSoup介紹

引用官方的解释:

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.

简单来说Beautiful Soup是python的一个库,是一个可以从网页抓取数据的利器。

官方文档:

https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/

BeautifulSoup安裝

pip install beautifulsoup4

pip install beautifulsoup4

-i http://pypi.douban.com/simple/

--trusted-host pypi.douban.com

顺便说一句:我使用的开发工具还是vscode,不清楚的看一下之前的推文。

BeautifulSoup解析器

cd9f1fd57199788089488aa93e25a5d4.png

html.parse

html.parse 是内置的不需要安装的

import requestsfrom bs4 import BeautifulSoup
url='https://www.baidu.com'
response=requests.get(url)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'html.parser')
print(soup.prettify())

结果

c92ae09ed19da948fb9a2fde0e85d62b.png

lxml

lxml 是需要安装 pip install lxml

import requestsfrom bs4 import BeautifulSoup
url='https://www.baidu.com'
response=requests.get(url)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'lxml')
print(soup)

结果

1e7c3b38dbc34800aca8b9b8fd2e5715.png

lxml-xml/xml

lxml-xml/Xm是需要安装的 pip install lxml

import requestsfrom bs4 import BeautifulSoup
url='https://www.baidu.com'
response=requests.get(url)
response.encoding = 'utf-8'
soup = BeautifulSoup(response.text, 'xml')
print(soup)

结果

bc2a89f015ef253c5b184987da718c93.png

html5lib

html5lib 是需要安装的  pip install html5lib

import requestsfrom bs4 import BeautifulSoup
获取外汇网站表格内的数据通常涉及网络爬虫技术,特别是对于动态加载内容的网页,可能需要使用到如PythonBeautifulSoup、Scrapy等库,或者是JavaScript渲染引擎如Selenium。以下是基本步骤: 1. **选择工具**: 首先确定编程语言和库。Python常用的是`requests`用于发送HTTP请求,然后配合`pandas`或`csv`处理CSV格式的数据,或者`BeautifulSoup`或`lxml`解析HTML。 2. **发送请求**: 使用`requests.get()`或其他库发送HTTP GET请求到外汇网站的表格URL,获取原始HTML内容。 3. **解析HTML**: 如果页面是静态HTML,可以使用BeautifulSoup解析HTML文档,找到包含数据的表格标签(如`<table>`),提取其的行和列。 4. **数据提取**: 对每个表格元素,例如`<tr>`代表一行数据,遍历并读取其`<td>`(单元格)内的文本或其他属性。 5. **数据存储**: 将提取的数据存储到字典、列表或pandas DataFrame,以便后续处理。 6. **输出数据**: 按照需求将数据转换成CSV文件、JSON或者其他适合的形式输出。 **示例代码(Python)**: ```python import requests from bs4 import BeautifulSoup url = 'http://example.com/exchange-table' # 替换为实际的表格URL response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 找到表格元素 table = soup.find('table') # 依据实际标记调整这 data = [] for row in table.find_all('tr'): cols = row.find_all('td') cols_data = [col.text.strip() for col in cols] data.append(cols_data) # 输出或保存数据 if len(data) > 0: print(data) else: print("No data found.") # 或者导出为CSV import csv with open('exchange_data.csv', 'w', newline='') as csvfile: fieldnames = ['Column1', 'Column2', ...] # 列名 writer = csv.writer(csvfile) writer.writerow(fieldnames) writer.writerows(data) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值