抱歉,如果您觉得有人问过这个问题,但我已经阅读了相关问题并且对 Python 很陌生,我无法找到如何以干净的方式编写此请求。
现在我有这个最小的 Python 代码:
from mechanize import Browser
from BeautifulSoup import BeautifulSoup
import re
import urllib2
br = Browser()
br.open("http://www.atpworldtour.com/Rankings/Singles.aspx")
filename = "rankings.html"
FILE = open(filename,"w")
html = br.response().read();
soup = BeautifulSoup(html);
links = soup.findAll('a', href=re.compile("Players"));
for link in links:
print link['href'];
FILE.writelines(html);
它检索 href 包含单词 player 的所有链接。
现在我需要解析的 HTML 看起来像这样:
<tr>
<td>1</td>
<td><a href="/Tennis/Players/Top-Players/Roger-Federer.aspx">Federer, Roger</a> (SUI)</td>
<td><a href="/Tennis/Players/Top-Players/Roger-Federer.aspx?t=rb">10,550</a></td>
<td>0</td>
<td><a href="/Tennis/Players/Top-Players/Roger-Federer.aspx?t=pa&m=s">19</a></td>
</tr>
1 包含玩家的等级。我希望能够在字典中检索这些数据:
- 秩
- 玩家的名字
- 链接到详细页面(此处/Tennis/Players/Top-Players/Roger-Federer.aspx)
你能给我一些指示,或者如果这很容易帮助我构建这段代码?我不确定如何在 Beautiful Soup 中提出请求。
安东尼