为了账号安全,请及时绑定邮箱和手机立即绑定

通过 BeautifulSoup 从 HTML 表制作字典?

通过 BeautifulSoup 从 HTML 表制作字典?

慕姐4208626 2023-06-27 16:18:14
我从 eBay 上抓取了这个表格,基本上,输出应该是这样的scraped_table = {'Condition': 'New', 'Brand': 'MyBrand', 'MPN': 'Does not apply', 'UPC': 'Does not apply'}但是,该表可能具有不同的值(例如,可能并不总是存在 UPC 或 MPN 值集,并且可能存在更多值)。我不知道如何才能刮掉这张桌子。我可以通过查找“table”元素来选择表,但如何循环遍历这些值并将其放入字典中?
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

如果表的结构是<td class="attrLabels"> ...Attribute... </td><td> ...Attribute value... </td>,您可以执行以下操作(txt是您的 HTML 片段):


from pprint import pprint

from bs4 import BeautifulSoup


soup = BeautifulSoup(txt, 'html.parser')


out = {}

for attr, txt in zip(soup.select('td.attrLabels'), soup.select('td.attrLabels + td')):

    out[attr.get_text(strip=True)] = txt.get_text(strip=True).split(':')[0]


# pretty print to screen:

pprint(out)

印刷:


{'Brand:': 'MyBrand',

 'Condition:': 'New',

 'MPN:': 'Does Not Apply',

 'UPC:': 'Does not apply'}


查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信