2014-09-19 76 views
0

我正在尝试做一个简单的任务,但我对Python很陌生,所以将不胜感激一些帮助。我有这样一段代码找到Python的404错误:为了找到404错误导入一个csv与一长串的网址为了找到404错误

import requests 

try: 
    r = requests.head("http://stackoverflow.com") 
    print r.status_code 

except requests.ConnectionError: 
    print "failed to connect" 

这一点我在计算器寻找解决方案(感谢用户Goumeau)获得。我有一个csv的数千个URL,我想导入,然后运行这个代码。我最终寻找的是包含与每个url关联的url和http状态代码的列表。问题是如何导入我的URL列表,然后以迭代方式运行上面的代码?

如果我很幸运,那么我将如何获得答案列表?

感谢您的阅读。

+1

什么是csv的结构?每行一个url?或多个。请显示csv文件的示例。 – b10n 2014-09-19 00:23:17

+0

hey there,yeah没错:csv是每行一个网址(垂直说...'列'A包含1000个网址)。希望是有道理的。谢谢。 – newbie68 2014-09-19 01:08:49

回答

1

我假设一个url的文件,每行一个。

def get_url_status(url): 
    try: 
     r = requests.head(url) 
     return url, r.status_code 
    except requests.ConnectionError: 
     print "failed to connect" 
     return url, 'error' 

results = {} 
with open('url.csv', 'rb') as infile: 
    for url in infile: 
     url_status = get_url_status(url) 
     results[url_status[0]] = url_status[1] 
+0

嘿,我试过使用这段代码,但是我在下面看到这个错误。我的csv包含几个测试网址:文件“/Library/Python/2.7/site-packages/requests/models.py”,行345,在prepare_url “也许你的意思是http:// {0}?”.format (url)) requests.exceptions.MissingSchema:无效的URL u'google.com \ rstackoverflow.com':没有提供模式。 Pstackoverflow.com?ttp://google.com – newbie68 2014-09-19 18:18:04

+0

它试图解析该行时抛出了什么样的异常?也许处理这种异常类型,程序应该继续。 – b10n 2014-09-19 18:25:37

+0

经过多次其他尝试后,我收到'无法连接'错误。对不起,任何建议,你可以给予非常感谢,谢谢。 – newbie68 2014-09-19 18:35:59