首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超文本标记语言解析表- BeautifulSoup

超文本标记语言解析表- BeautifulSoup
EN

Stack Overflow用户
提问于 2011-06-29 01:04:24
回答 4查看 1.3K关注 0票数 0

我正在尝试使用BeautifulSoup解析下面看到的第二个表。我在识别第二个表和第一个表时遇到了麻烦,因为这两个表的属性完全相同。如何访问表中的信息,如name =name?到目前为止,我尝试访问该表的方法是:

代码语言:javascript
复制
table = soup.find('table', {'name':'PATHWAY'})

我收到的响应是"None“,尽管我知道表是存在的。对我来说,这意味着我区分这两者的方法不起作用。有什么建议吗?

代码语言:javascript
复制
<table border="0" cellspacing="0" cellpadding="0" bgcolor="#DCDCDC">
<tr><td>

  <table border="0" cellspacing="1" cellpadding="3">
<tr>
<td class=ue><a name="REACTION TYPE">REACTION TYPE</td><td class=ue>ORGANISM</td><td  class=ue>COMMENTARY</td><td class=ue>LITERATURE</td></tr>
<tr class=tr1>
<td class=g>condensation</td><td class=no>-</td><td class=no>-</td><td class=no>-</td></tr>
  </table>
</td></tr></table>
<br>

<table border="0" cellspacing="0" cellpadding="0" bgcolor="#DCDCDC">
<tr><td>


  <table border="0" cellspacing="1" cellpadding="3">
<tr>
<td class=ue><a name="PATHWAY">PATHWAY</td><td class=ue>KEGG Link</td><td class=ue>MetaCyc Link</td><td class=ue></td></tr>
  <table>
EN

回答 4

Stack Overflow用户

发布于 2011-06-29 04:33:58

Mu Mind是对的:找到"a“,然后遍历回到父级

代码语言:javascript
复制
soup.find(attrs={"name":"PATHWAY"}).findParent('table')

也就是说,python是一个单独的xpath命令,但是在way....There上使用xpath操作更复杂,而且只值得努力,它有一些特定的用途(xslt或javascript要求,例如)

票数 1
EN

Stack Overflow用户

发布于 2011-06-29 01:18:43

代码语言:javascript
复制
>>> soup.find(attrs={"name":"PATHWAY"})
<a name="PATHWAY">PATHWAY</a>
票数 0
EN

Stack Overflow用户

发布于 2011-06-29 01:12:48

首先:

代码语言:javascript
复制
table = soup.find('table' {'name':'PATHWAY'}

没有合适的Python代码。

这应该匹配什么?

这将仅匹配。

您可以遍历每个表并在每个表内执行相关检查,也可以遍历树的每个单个节点,直到找到相关节点,然后沿节点层次结构向上遍历(通过跟随父节点),直到找到一个表元素。recursiveChildGenerator()可用于遍历所有节点(就像在平面列表中一样)。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6510345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档