我有一个python脚本,如下所示:我可以用我的登录名和密码登录到Web,但我需要将HTML表转换为csv。
import requests
from bs4 import BeautifulSoup
import pandas as pd
login_url = 'myurl'
data = {
'_username': 'myusername',
'_password': 'mypassvord'
}
with requests.Session() as s:
response = s.post(login_url , data)
index_page = s.get('myurl/link')
soup = BeautifulSoup(index_page.content, "html.parser")
print(soup)
print(index_page)
table = soup.findAll("table class", {"class": "table hover"})
print(table)
Print(index_page)
返回响应[200],因此没有问题。
但我想将html表格转换为CSV文件。
table = soup.find_all("table class", {"class": "table hover"})
退货[]
我哪里做错了?
我无法从HTML中获取表格。
1条答案
按热度按时间eit6fx6z1#
要从HTML页提取表数据并将其转换为CSV文件,可以执行以下步骤:
使用BeautifulSoup对象的find或find_all方法在HTML页面中查找table元素,这将返回一个table元素列表。
使用find_all方法和tr标签提取表中的行,这将返回一个行列表,其中每一行都是一个BeautifulSoup对象,包含该行的单元格。
使用find_all方法和td标签迭代行并提取单元格,使用csv模块或panda库将提取的数据写入CSV文件。
下面是一个示例,说明如何执行此操作:
这段代码将从表中提取数据,并将其写入名为table.csv的CSV文件。