python 使用lxml的etree快速解析网页表格

发现使用lxml的etree解析网页的表格特别方便,看了一些教程,讲得不是很清楚,特此贴上自己使用成功的代码,作为参考。

import requests
import re
import pandas as pd
from lxml import etree

# url和header此处省略
req = requests.get(url=url, headers=header)
text = req.text
# 解析html
res_elements = etree.HTML(text)
# 指定属性的获取方式
# table = res_elements.xpath('//table[@id="table"]')
# 不指定属性获取table
table = res_elements.xpath('//table')
# 将第一个表格转成string格式
table = etree.tostring(table[0], encoding='utf-8').decode()
# pandas读取table
df = pd.read_html(table, encoding='utf-8', header=0)[0]
# 转换成列表嵌套字典的格式
results = list(df.T.to_dict().values())
# 最后能够看到一个包含很多字典的list
print(results)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值