Beautiful Soup - 如何解析表的列并将它们插入到两个列表中
我正在尝试解析一个包含两列的表,并将每列中的文本插入到两个列表中。
我需要一些想法如何去做。
from BeautifulSoup import BeautifulSoup
s = """<table><tr><td valign="top" width="25%"><b>Text1</b><a href="#">Link1</a>:</b></td><td>AAAA<a href="#">BBBB</a></td></tr>
<tr><td valign="top" width="25%"><b>Text2:</b></td><td>CCCC<a href="#">DDDD</a></td></tr>
<tr><td valign="top" width="25%"><b><a href="#">Link2</a>:</b></td><td><a href="#">EEEE</a> FFFF</td></tr></table>
<tr><td valign="top" width="25%"><b>Text3 <br> Text4:</b></td><td><a href="#">EEEE</a> FFFF</td></tr></table>"""
a = BeautifulSoup(s)
b = a.findAll('td', text=True)
left = []
right = []
for i in b:
print i
我得到的结果:
Text1
链接1
:
AAAA
BBBB
我需要什么:
left = ["Text1", "Link1"]
右 = [AAAA", "BBBB"]
I am trying to parse a table with two columns and insert the text from each column into two lists.
I need some ideas how to do it.
from BeautifulSoup import BeautifulSoup
s = """<table><tr><td valign="top" width="25%"><b>Text1</b><a href="#">Link1</a>:</b></td><td>AAAA<a href="#">BBBB</a></td></tr>
<tr><td valign="top" width="25%"><b>Text2:</b></td><td>CCCC<a href="#">DDDD</a></td></tr>
<tr><td valign="top" width="25%"><b><a href="#">Link2</a>:</b></td><td><a href="#">EEEE</a> FFFF</td></tr></table>
<tr><td valign="top" width="25%"><b>Text3 <br> Text4:</b></td><td><a href="#">EEEE</a> FFFF</td></tr></table>"""
a = BeautifulSoup(s)
b = a.findAll('td', text=True)
left = []
right = []
for i in b:
print i
What I get:
Text1
Link1
:
AAAA
BBBB
What I need:
left = ["Text1", "Link1"]
right = [AAAA", "BBBB"]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先获取行,然后获取单元格:
我还没有测试过这个,但很确定它应该有效:)
编辑:已修复(希望如此)
Get the row first, and then get the cell:
I haven't tested this, but pretty sure it should work :)
EDIT: fixed (hopefully)