1

我是新成员,对我的英语感到抱歉,但这不是我的母语。我会制作一个 python 程序,从 html 页面 (http://www.kernel.org/pub/linux/kernel/v3.0/) 中提取特定的 url。我能够在我的 shell 上打印关于该页面的所有链接,但我不知道如何提取特定的 url,例如 linux-3.6.7.ta​​r.bz2。我怎样才能做到这一点?

我会问你另一个问题:我希望用户选择要在你的电脑上下载的内核,而不是指定内核,例如 3.2、3.3、3.6 等。我该怎么做?也许用正则表达式?

Ps:我导入了 urllib2、HTMLParser、BeautifulSoup 和 Re。

4

1 回答 1

0
from urllib2 import Request, urlopen
from BeautifulSoup import BeautifulSoup
req = Request('http://www.kernel.org/pub/linux/kernel/v3.0/')
response = urlopen(req)
content = response.readlines()
soup = BeautifulSoup(''.join(content))
for link in soup.findAll('a', href=True):
    if ('3.6.7.tar.gz' in link.string):
        print link

用那个...

>>> from urllib2 import Request, urlopen
>>> from BeautifulSoup import BeautifulSoup
>>> req = Request('http://www.kernel.org/pub/linux/kernel/v3.0/')
>>> response = urlopen(req)
>>> content = response.readlines()
>>> soup = BeautifulSoup(''.join(content))
>>> for link in soup.findAll('a', href=True):
...     if ('3.6.7.tar.gz' in link.string):
...         print link
...
<a href="linux-3.6.7.tar.gz">linux-3.6.7.tar.gz</a>
>>>

如果要自定义搜索用户输入,请使用 python 的raw_input()函数...

于 2012-11-24T11:35:13.620 回答