使用BeautifulSoup提取当前版本的Firefox

时间:2013-08-22 14:01:07

标签: python firefox version beautifulsoup

我正在尝试使用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,但我不确定这是否会让我朝着正确的方向前进。任何线索都会有所帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

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