2017-07-18 86 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

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