2017-07-18 87 views
0

获得下一个标签我的HTML从Python2.7使用BS4

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中,如图所示(链接1)。

但是标题(“美国专利文献”)和表体之间不共享相同的顶部标签,所以我不能使用像

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

那么,有什么办法可以帮我做?

非常感谢!

回答

0

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

这些命令返回的表,如果它存在:

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

它的作品!再次感谢。 :) –