擅长:python、mysql、java
<p>下面是一个使用BeautifulSoup获取所需内容的解决方案,首先让我们获取表:</p>
<pre><code>table = soup.find("table",{'id':'GridView1'})
</code></pre>
<p>现在我们在它的主体中找到了<code>tr</code>标记:</p>
^{pr2}$
<p>注意你要找的标签不在那里。我展示了列表的第一项,以便您更好地分析您需要的url在哪里,正如我们所看到的,它是我们想要的第一个<code>a</code>标记,因此例如:</p>
<pre><code>>>> table.find('tbody').findAll('tr')[0].find('a')
<a href="/Nchs/Nhanes/2009-2010/ARX_F.htm">ARX_F Doc</a>
</code></pre>
<p>现在剩下要做的就是编写一个列表理解,将列表中每个<code>tr</code>标记中第一个<code>a</code>标记的所有<code>href</code>属性连接起来:</p>
<pre><code>>>> trList = table.find('tbody').findAll('tr')
>>> lst = [tr.find('a')['href'] for tr in trList]
</code></pre>
<p>如果我们打印<code>lst</code>的第一个元素,我们会看到这是我们想要的输出:</p>
<pre><code>>>> lst[:3]
['/Nchs/Nhanes/2009-2010/ARX_F.htm', '/Nchs/Nhanes/1999-2000/AUX1.htm', '/Nchs/Nhanes/2001-2002/AUX_B.htm']
</code></pre>