使用urllib url的变量导致未知的url类型:'%22http'错误

时间:2013-04-06 07:46:08

标签: python-2.7 urllib

我正在尝试将url传递给urllib:

# a file with a url on each line
file_object = open('file.txt', 'r').xreadlines()
for line in file_object:
    print line # to check if it is getting the correct value 
    var = urllib.urlopen(line).read()

我收到错误:

IOError: [Errno url error] unknown url type: '%22http'

我认为%22表示转义的引号。

所以文件中的url格式为:

"http://www.test.com"

并打印出print语句:

"http://www.test.com"

并且使用"生成围绕网址的"\"" + url + "\""的创建,目的是为urllib提供我认为需要的格式的网址。但似乎转义代码以某种方式被保留,urllib不只是将值视为"http://www.test.com"

2 个答案:

答案 0 :(得分:1)

如果您将URL放在包含引号的文件中,通常这不起作用,因为源代码中的文字字符串只需要引号。在文件中包含引号就像在源代码中写入类似"\"http://www.test.com/\""的内容。从文件中删除引号应该可以解决问题。

答案 1 :(得分:1)

    file_object = open('file.txt', 'r').xreadlines()
    for line in file_object:
        print line[1:-2] # to check if it is getting the correct value 
        var = urllib.urlopen(line[1:-2]).read()

line [1:-2] - 简单地在开头删除一个char,在字符串

的末尾删除两个