【问题标题】:Python - Return statement empties my listPython - Return 语句清空我的列表
【发布时间】:2020-02-16 00:54:33
【问题描述】:

我目前正在开发一个 selenium 机器人,它从 1000 个名词列表中随机获取一个英文名词,将其放入一个获得类似 instagram 标签的网站,然后继续 instagram,登录我的帐户,并开始喜欢图片使用该标签,然后重新开始该过程

我的问题是返回相似主题标签的函数,这是它的代码:

def get_similar_tags(tag):
    url = "https://top-hashtags.com/hashtag/" + str(tag).lower() + "/"
    page = requests.get(url).text
    parsed_page = BeautifulSoup(page, "html.parser")
    parsed_page = parsed_page.find("div", class_="tht-tags")
    text = parsed_page.text
    hashtag = text.split(" ")
    hashtag = [s.strip('#') for s in hashtag]
    hashtag = hashtag.pop(len(hashtag) - 1)
    return hashtag

当我尝试在函数内部打印主题标签变量时,输出会充满主题标签,这正是我所需要的。

当我使用该函数将主题标签变量分配给另一个变量时,如下所示:

foo = get_similar_tags(random_noun)

然后我做

print(foo)

我什么也没得到,甚至没有一个空列表,只是一个空行。 我已经尝试使用全局变量分配 get_similar_tags 函数返回的值,但这也不起作用。

非常感谢任何帮助, 谢谢

【问题讨论】:

  • 您不会返回主题标签列表。你返回它的最后一个元素。列表是否包含空字符串?

标签: python selenium return


【解决方案1】:
hashtag = hashtag.pop(len(hashtag) - 1)

别这样,试试吧:

hashtag.pop(len(hashtag) - 1)

list.pop([i])

删除列表中给定位置的项目,并返回它。 如果没有指定索引,a.pop() 会移除并返回最后一项 名单。 (方法签名中 i 周围的方括号 表示该参数是可选的,而不是您应该键入 square 那个位置的括号。你会经常在 Python 库参考。)

https://docs.python.org/3/tutorial/datastructures.html

【讨论】:

    猜你喜欢
    • 2018-03-07
    • 2014-02-02
    • 2013-06-14
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2013-03-16
    相关资源
    最近更新 更多