2012-08-27 26 views
0

我有一个链接列表,它存储在一个文件中。我想通过一些脚本在我的浏览器中打开所有链接,而不是手动复制粘贴每个项目。如何打开浏览器中的地址列表

例如,OS:MAC OS X;浏览器:Chrome;脚本:Python(首选)

+0

可能的JavaScript可以做到这一点? –

+1

如果你想要一个JS答案,要求一个JS答案。不要玩冲突“也许某些其他语言可以帮助我”游戏来强制回应。 –

回答

6

看看webbrowser模块。

import webbrowser 

urls = ['http://www.google.com', 'http://www.reddit.com', 'http://stackoverflow.com'] 
b = webbrowser.get('firefox') 
for url in urls: 
    b.open(url) 

P.S:Chrome浏览器的支持已经列入3.3的版本,但是Python 3.3仍然是一个候选发布版。

+4

或者您可以使用'webbrowser.open(url)',它将使用“默认”浏览器(类似于'open'命令)。 – jfs

+0

+1这是更清洁(因此,我认为,更好)比我的每个案件的答案,除非它不支持您要使用的浏览器。 –

+1

如果'google-chrome'不是默认浏览器,您仍然可以在Python 3.3之前使用它:'webbrowser.get(“google-chrome%s”)' – jfs

2

既然你是在Mac上,你可以使用子进程模块来调用open http://link1 http://link2 http://link3。例如:

from subprocess import call 
call(["open","http://www.google.com", "http://www.stackoverflow.com"]) 

请注意,这只会打开您的默认浏览器;但是,您可以简单地使用特定浏览器的命令替换open命令来选择您的浏览器。

下面是一般格式的文件,一个完整的例子

alink 
http://anotherlink 

(等)

from subprocess import call 
import re 
import sys 

links = [] 

filename = 'test' 

try: 
    with open(filename) as linkListFile: 
     for line in linkListFile: 
      link = line.strip() 
      if link != '': 
       if re.match('http://.+|https://.+|ftp://.+|file://.+',link.lower()): 
        links.append(link) 
       else: 
        links.append('http://' + link) 
except IOError: 
    print 'Failed to open the file "%s".\nExiting.' 
    sys.exit() 

print links 
call(["open"]+links) 
+0

注意:'webbrowser'默认已经使用'open location'命令在Mac上 – jfs

相关问题