【发布时间】:2015-05-27 12:11:52
【问题描述】:
我已经用我的代码将 HTML 缩小到一个点,但是我在使用列表解析来获取 href 地址时遇到了问题。
这是我的代码(BASE_URL 和 STEM_URL 是固定地址):
soup = BeautifulSoup(requests.get(BASE_URL).text)
divyclass = soup.find("div", {"class":"node-inner"}).tbody
我遇到问题并收到此错误 (TypeError: 'NoneType' object has no attribute '__getitem__') 是在我添加此行以进行列表理解时:
links = [STEM_URL + row.a["href"] for row in divyclass.findAll("td")]
当我跑步时
for row in divyclass.findAll("td"):
print row
,顺便说一句,我得到了这个输出,这样你就可以看到我从哪里提取 a href:
<td align="center" class="tableheader" colspan="4" valign="middle">NBA Drafts</td>
<td align="center" class="text" valign="middle"> </td>
<td align="center" class="text" valign="middle"> </td>
<td align="center" class="text" valign="middle"> </td>
<td align="center" class="text" valign="middle"><a href="/nba_final_draft/2014">2014</a></td>
<td align="center" class="text" valign="middle"> <a href="/nba_final_draft/2013">2013</a></td>
<td align="center" class="text" valign="middle"> <a href="/nba_final_draft/2012">2012</a></td>
<td align="center" class="text" valign="middle"><a href="/nba_final_draft/2011">2011</a></td>
<td align="center" class="text" valign="middle"><a href="/nba_final_draft/2010">2010</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_final_draft/2009">2009</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_draft_history/2008.html">2008</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_draft_history/2007.html">2007</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_draft_history/2006.html">2006</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_draft_history/2005.html">2005</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_draft_history/2004.html">2004</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_draft_history/2003.html">2003</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_draft_history/2002.html">2002</a></td>
<td align="center" class="text" valign="middle" width="25%"><a href="/nba_draft_history/2001.html">2001</a></td>
啊!我只是想拉hrefs!!提前谢谢大家!
【问题讨论】:
标签: python css-selectors beautifulsoup