2016-09-06 89 views
0

我有一个.csv文件,其中包含一列网址(40-50个网址),我想读取csv文件并在Chrome上打开所有这些网址?有没有办法在python中完成此操作?我正在使用下面的一段代码来读取csv文件。在铬上打开网址

exampleFile = open('MyFile.csv') 
exampleReader = csv.reader(exampleFile) 
exampleData = list(exampleReader) 
final = [] 
for item in exampleData: 
    final.append(item[0]) 
for item in final: 
    ??? 
+0

您是否需要查看网页? – EndermanAPM

+1

使用内置的浏览器模块 –

+0

您是否需要同时或连续打开URL(即先加载,检查是否正常,然后加载)?你是否打算在网页加载后对网页做任何事情?请注意,如果您计划只加载页面,与书签应用程序相似,则可以使用子流程模块(subprocess.call([“chrome.exe”,URL]))调用外部应用程序。 – Alan

回答

0

您可以使用硒。首先安装pip install selenium硒。以下代码在mozilla firefox中打开http://www.python.org。您可以在selenium中将驱动程序更改为chrome驱动程序以在Chrome中打开链接。对于铬,你可以看到How to run Selenium WebDriver test cases in Chrome?

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Firefox() 
driver.get("http://www.python.org") 
2

您可以使用selenium网络驱动程序加载每个URL中的铬。

读csv文件可以这样改进:

from selenium import webdriver 

driver = webdriver.Chrome() 

with open('MyFile.csv') as example_file: 
    example_reader = csv.reader(example_file) 
    for row in example_reader: 
     driver.get(row[0]) 
     # do whatever... 

    driver.close() 
+0

WebDriverException:消息:'chromedriver'可执行文件需要位于PATH中。请参阅https://sites.google.com/a/chromium.org/chromedriver/home – Blabber

1

假设你张贴片段是好的和final包含有效的网址,你可以做这样的事情:

import webbrowser 

exampleFile = open('MyFile.csv') 
exampleReader = csv.reader(exampleFile) 
exampleData = list(exampleReader) 
final = [] 

for item in exampleData: 
    final.append(item[0]) 
for url in final: 
    webbrowser.open_new_tab(url) 

欲了解更多信息,采取看看Convenient Web-browser controller

1

最后用它来使它按照我想要的方式工作。另外我不必安装任何外部模块!非常感谢你的答案,他们帮助我建立了最终的答案!

import webbrowser 
import csv 

path = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s" 
exampleFile = open('MyFile.csv') 
exampleReader = csv.reader(exampleFile) 
exampleData = list(exampleReader) 

for item in exampleData: 
    webbrowser.get(path).open(item[0])