下面是使用BeautifulSoup库处理类似表格的网站结构,并返回字典的示例代码:
from bs4 import BeautifulSoup
html = '''
姓名
年龄
城市
Alice
25
New York
Bob
30
London
'''
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table')
rows = table.find_all('tr')
data = []
for row in rows:
cells = row.find_all('td')
if cells:
data.append({
'姓名': cells[0].text,
'年龄': cells[1].text,
'城市': cells[2].text
})
print(data)
在这个示例中,我们首先使用BeautifulSoup将HTML代码解析成一个BeautifulSoup对象。然后,使用find
方法找到表格元素,再使用find_all
方法找到所有的行元素。
然后,我们使用for
循环遍历每一行,使用find_all
方法找到每一行中的所有单元格元素。如果单元格元素存在,我们将单元格的文本内容分别存储到一个字典中,并将字典添加到一个列表中。
最后,我们打印出列表中的数据,即包含姓名、年龄和城市的字典列表。输出如下:
[
{'姓名': 'Alice', '年龄': '25', '城市': 'New York'},
{'姓名': 'Bob', '年龄': '30', '城市': 'London'}
]
这样,我们就成功地将类似表格的网站结构中的数据提取出来,并以字典的形式返回了。