urlparse类型/属性错误

时间:2014-11-19 19:44:18

标签: python unicode urllib

Python 2.7。

我确定这是一个愚蠢的问题,但我真的很困惑我从urlsplit获得的类型/属性错误。

我正在尝试遍历一个unicode网址列表',拆分并重建它们以删除部分网址。

new_list = []
for line in list_of_links:
    urlsplit(line)
    new_list.append(line.scheme + '://' + line.netloc + line.path)

返回AttributeError: 'unicode' object has no attribute 'scheme'

将每行编码为utf-8不起作用。 str(line).scheme返回'str' object has no attribute 'scheme'

我错过了什么?

1 个答案:

答案 0 :(得分:3)

line仍然是str,字符串没有这些方法。 urlparse()urlsplit()分别返回ParseResultSplitResult个名为tuple的对象。请参阅文档here。只有这些属性具有schemenetloc属性。要正确使用它们,请将结果存储在变量中,如下所示:

new_list = []
for line in list_of_links:
    urlsplit_result = urlsplit(line)
    new_list.append(urlsplit_result.scheme + '://' + urlsplit_result.netloc + urlsplit_result.path)