【问题标题】:Python2.7 getting the next tag by using bs4Python2.7使用bs4获取下一个标签
【发布时间】:2017-12-23 00:59:16
【问题描述】:

我有来自

的部分html

http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=1&p=1&f=G&l=50&d=PTXT&S1=V2V&OS=V2V&RS=V2V

<CENTER><b>U.S. Patent Documents</b></CENTER>
<TABLE width="100%"> 
    <TR>
        <TH scope="col" width="33%"></TH> 
        <TH scope="col" width="33%"></TH>
        <TH scope="col" width="34%"></TH>
    </TR> 
    <TR> 
        <TD align="left"><a href="http://appft.uspto.gov/netacgi/nph-Parser?TERM1=20130322542&Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=0&f=S&l=50" target="_blank">2013/0322542</a></TD>
        <TD align=left>December 2013</TD>
        <TD align=left>Senzaki et al</TD>
    </TR>
    <TR>
        <TD align=left><a href="http://appft.uspto.gov/netacgi/nph-Parser?TERM1=20130336397&Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=0&f=S&l=50" target="_blank">2013/0336397</a></TD>
        <TD align=left>December 2013</TD>
        <TD align=left>Senzaki et al.</TD>
    </TR>
</TABLE>

我的问题是,如果html中存在“U.S. Patent Documents”如图所示,我想提取TABLE(链接1)。

但是标题('U.S. Patent Documents')和 TABLE body 没有共享相同的顶部标签,所以我不能使用类似的东西

tb_body = soup.find('center').find('table')

那么有什么方法可以帮助我做到这一点吗?

非常感谢!!

【问题讨论】:

    标签: html python-2.7 web-scraping beautifulsoup


    【解决方案1】:

    这很容易使用tb_body.findNext('table') 完成。如果存在,则返回 table 标签,否则返回 None

    或者,您可以使用tb_body.find_next_sibling('table')

    如果表存在,这两个命令都会返回表:

    <table width="100%">
     <tr>
      ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      • 1970-01-01
      • 1970-01-01
      • 2023-01-03
      • 2017-02-27
      • 2014-10-04
      • 1970-01-01
      相关资源
      最近更新 更多