【问题标题】:Check multiple url from csv if valid or not, using python使用python检查csv中的多个url是否有效
【发布时间】:2015-08-12 06:54:06
【问题描述】:

如果我在脚本本身中对链接进行硬编码,我就可以使用此脚本。但是希望从具有此列的 csv 文件中获取多个 url,例如 url_to_check,如果这些 url 有效与否,需要一一验证它们。请帮忙。谢谢

import httplib 
from urlparse import urlparse 

def checkUrl(url):
    p = urlparse(url)
    conn = httplib.HTTPConnection(p.netloc)
    conn.request('HEAD', p.path)
    resp = conn.getresponse()
    return resp.status < 400 

if __name__ == '__main__':    
    print checkUrl('http://www.stackoverflow.com')

【问题讨论】:

  • python 有一个模块 csv 用于处理 csv 文件。
  • 您是在寻求验证方面的帮助,还是只是在解析 csv 文件以将 URL 传递给您的函数?据我所知,您的函数工作正常,除了您需要捕获IOErrors 并返回False,例如如果请求的 url netloc 无效,可能会抛出socket.gaierror。跨度>

标签: python csv url


【解决方案1】:

您可以使用 python 的 csv 模块来解析您的 csv 文件。

使用您的示例列名和checkUrl 函数的简单示例:

import csv
with open('/path/to/your/csv/file') as fobj:
    reader = csv.DictReader(fobj)
    for row in reader:
        valid = checkUrl(row['url_to_check'])
        print('%s is %svalid' % (row['url_to_check'], '' if valid else 'in'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-13
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    • 1970-01-01
    相关资源
    最近更新 更多