首页 > 解决方案 > 从python中的变量列表中过滤数字

问题描述

我正在尝试编写一个脚本,为我从网站上提取股票编号。我已经能够使用 BeautifulSoup 在页面上找到该元素,但我无法将该变量的输出转换为数字。我尝试将变量中的数据转换为列表,然后使用split_list =[i.split() for i in numbers],然后进一步过滤no_integers = [token for token in tokens if not token.isdigit()],所有这些都是我在堆栈溢出 btw 中发现的。我是一个绝对的初学者,任何帮助都非常感谢。这是代码和输出

def requeststock():
    response = requests.get(baselnk)
    soup = bs(response.content, "html.parser")
    find_element = soup.find_all("span", {"class":"page-main__emphasis"})
    correct_element = [d.text.encode('utf-8') for d in find_element]

这就是到目前为止返回的内容

[b'Boosted XR Battery', b'88']

我希望最后的整数从函数返回。谢谢!!

编辑:我修好了....但我不知道如何。这是我的解决方案。

def requeststock():
    response = requests.get(baselnk)
    soup = bs(response.content, "html.parser")
    for wrapper in soup.find_all('span', {"class":"page-main__emphasis"}):
        numero = wrapper.text
    return numero

互联网是一个神奇的东西。

标签: pythonweb-scrapingbeautifulsoup

解决方案


对你的问题有点困惑。我认为你很接近。这是一个简短的示例,可以帮助您更好地过滤。

>>> mylist = [b'Boosted XR Battery', b'88']
>>> [i for i in mylist if i.isdigit()]
[b'88']

推荐阅读