Python列表对象没有属性

2024-05-29 04:51:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,我正试图编写一个网站scraper来获取subreddits的链接,然后我可以将其传递给另一个类,以便从imagur自动下载图像。在

在这个代码片段中,我只是试图读取subreddit并从href中获取任何imagur htmls,但是我得到以下错误:

AttributeError: 'list' object has no attribute 'timeout'

你知道为什么会这样吗?代码如下:

^{pr2}$

Tags: 代码图像网站链接错误scraperlistattributeerror
1条回答
网友
1楼 · 发布于 2024-05-29 04:51:25

看看如何调用函数:

get_category_links(sys.argv)

^{}这里是脚本参数列表,其中第一项是脚本名称本身。这意味着您的base_url参数值是一个导致urlopen失败的列表:

^{pr2}$

您的意思是从sys.argv获取第二个参数并将其传递给get_category_links

get_category_links(sys.argv[1])

有趣的是,这个例子中的错误是多么的神秘和难以理解。这是来自"url opener" works in Python 2.7的方式。如果url值(第一个参数)不是字符串,则假定它是Request实例,并尝试在其上设置timeout值:

def open(self, fullurl, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT):
    # accept a URL or a Request object
    if isinstance(fullurl, basestring):
        req = Request(fullurl, data)
    else:
        req = fullurl
        if data is not None:
            req.add_data(data)

    req.timeout = timeout  # <  FAILS HERE

注意behavior have not actually changed in the latest stable 3.6 as well。在

相关问题 更多 >

    热门问题