Python 如何使用Beautifulsoup刮平桌子的高度和宽度? …测试。。。 …测试。。。 …测试。。。

Python 如何使用Beautifulsoup刮平桌子的高度和宽度? …测试。。。 …测试。。。 …测试。。。,python,beautifulsoup,Python,Beautifulsoup,如今人们倾向于选择lxml而不是BeautifulSoup。看看这有多容易: <table id="t_id" cellspacing="0" border="0" align="center" height="700" width="600" cellpadding="0"> <tbody> <tr><td> ..test... </td></tr> <tr><td> ..test... </

如今人们倾向于选择lxml而不是BeautifulSoup。看看这有多容易:

<table id="t_id" cellspacing="0" border="0" align="center" height="700" width="600" cellpadding="0">
<tbody>
<tr><td> ..test... </td></tr>
<tr><td> ..test... </td></tr>
<tr><td> ..test... </td></tr>
</tbody>
</table>
从lxml导入etree
data=”“”
…测试。。。
…测试。。。
…测试。。。
"""
tree=etree.fromstring(数据)
table_element=tree.xpath(“/table”)[0]#,因为它返回一个表元素列表
打印table_element.attrib['height']+“和“+table_element.attrib['width']

如今人们倾向于选择lxml而不是BeautifulSoup。看看这有多容易:

<table id="t_id" cellspacing="0" border="0" align="center" height="700" width="600" cellpadding="0">
<tbody>
<tr><td> ..test... </td></tr>
<tr><td> ..test... </td></tr>
<tr><td> ..test... </td></tr>
</tbody>
</table>
从lxml导入etree
data=”“”
…测试。。。
…测试。。。
…测试。。。
"""
tree=etree.fromstring(数据)
table_element=tree.xpath(“/table”)[0]#,因为它返回一个表元素列表
打印table_element.attrib['height']+“和“+table_element.attrib['width']

如果这是您的整个HTML,那么这就足够了:

from lxml import etree
data = """<table id="t_id" cellspacing="0" border="0" align="center" height="700" width="600" cellpadding="0">
<tbody>
<tr><td> ..test... </td></tr>
<tr><td> ..test... </td></tr>
<tr><td> ..test... </td></tr>
</tbody>
</table>
"""
tree = etree.fromstring(data)
table_element = tree.xpath("/table")[0] # because it returns a list of table elements
print table_element.attrib['height'] + " and " + table_element.attrib['width']
如果您需要首先搜索表,那么也不会复杂得多:

import BeautifulSoup
soup = BeautifulSoup.BeautifulSoup("...your HTML...")
print soup.table['width'], soup.table['height']
# prints: 600 700

如果这是您的整个HTML,那么这就足够了:

from lxml import etree
data = """<table id="t_id" cellspacing="0" border="0" align="center" height="700" width="600" cellpadding="0">
<tbody>
<tr><td> ..test... </td></tr>
<tr><td> ..test... </td></tr>
<tr><td> ..test... </td></tr>
</tbody>
</table>
"""
tree = etree.fromstring(data)
table_element = tree.xpath("/table")[0] # because it returns a list of table elements
print table_element.attrib['height'] + " and " + table_element.attrib['width']
如果您需要首先搜索表,那么也不会复杂得多:

import BeautifulSoup
soup = BeautifulSoup.BeautifulSoup("...your HTML...")
print soup.table['width'], soup.table['height']
# prints: 600 700

为什么人们更喜欢lxml?性能原因?因为BeautifulSoup的解决方案更短,看起来更像蟒蛇。我也是BeautifulSoup的粉丝,但它看起来确实像渡渡鸟一样:如果你不做任何“关键”的事情,你仍然可以毫无问题地使用beautiful soup。然而,在最新的(3.1.0)版本中有很多变化。如果您想使用BS,我建议您使用3.0.8版本。为什么人们更喜欢lxml?性能原因?因为BeautifulSoup的解决方案更短,看起来更像蟒蛇。我也是BeautifulSoup的粉丝,但它看起来确实像渡渡鸟一样:如果你不做任何“关键”的事情,你仍然可以毫无问题地使用beautiful soup。然而,在最新的(3.1.0)版本中有很多变化。如果您想使用BS,我建议您使用3.0.8版本。