我有一个格式如下的HTML表格:
<p>
<strong>A</strong>1<br/>
<strong>B</strong>2<br/>
</p>
我想使用BeautifulSoup将其读入格式{'A': '1', 'B': '2'}
的字典中。最好的方法是什么?我设法做了一些hacky:
g = list(soup.find('p').childGenerator())
# g == [<strong>A</strong>, '1', <br/>, <strong>B</strong>, '2', </br>]
table = {g[3*i]: g[3*i+1] for i in range(int(len(g)/3))}
但这种感觉很容易受到桌子形成的微小变化的影响。是否有更好或更规范的方式?
答案 0 :(得分:0)
我相信你在这里发布的内容是假的,我不确定你的具体要求。以下是您需要的代码。
text_content = [x for x in soup.text.split('\n') if x]
some_dict = {}
i = 0
for abc in soup.find_all('strong'):
some_dict[abc.text] = text_content[i].replace(abc.text, '')
i += 1
print(some_dict)
>> {'A': '1', 'B': '2'}