0

我正在尝试使用 Python 和 BeautifulSoup 抓取当前美国英文版 Firefox 的 Firefox 下载页面。我正在使用 Python 2.4.3 版。

我相信我很接近,但可以使用一些指针来引导我朝着正确的方向前进。

这是我当前的代码:

    import urllib2
    from BeautifulSoup import BeautifulSoup

    url = "http://www.mozilla.org/en-US/firefox/all/";

    page = urllib2.urlopen(url)
    soup = BeautifulSoup(page)

    #version = soup.find('tr', {'id': 'en-US'}).find('td', {'class': 'download         win'}.find('a', {'product': 'firefox'})
    version = soup.find('tr', {'id': 'en-US'}).find('td', {'class': 'download win'})
    print version # Put a mail command here

未注释的行输出以下内容:

    <td class="download win"><a href="https://download.mozilla.org/?product=firefox- 23.0.1&amp;os=win&amp;lang=en-US" title="Download for Windows">Download</a></td>

注释行输出错误:

    File "firefox-version.py", line 11
        print version # Put a mail command here
            ^
    SyntaxError: invalid syntax

我怀疑我正在检索的数据不能以我指示 Python 处理返回的结果的方式存储。我开始考虑使用 find_all 而不仅仅是 find,但我不确定这是否将我带向了正确的方向。任何线索都会有所帮助。谢谢你。

4

1 回答 1

1

print version语法在 Python 2.4 中运行良好,它不应该产生语法错误。验证这确实是正在使用的版本,因为在 Python 3.x 中print version 导致语法错误。只是为了确定,检查这是否有效:print(version).

于 2013-08-22T14:04:55.790 回答