首页 > 解决方案 > 从另一个 Python 脚本导入函数时,如何确保导入的模块正常工作?

问题描述

为了简化我当前的脚本,我决定将一些函数移到一个单独的脚本中。其中之一是下面这个:

def get_soup(url):
    """
    Given the url of a page, this function returns the soup object.

    Parameters:
        url: the link to get soup object for

    Returns:
        soup: soup object
    """

    driver = webdriver.Firefox()
    driver.get(url)
    html = driver.page_source
    soup = BeautifulSoup(html, 'html.parser')
    driver.close()

    return soup

这个函数放在一个名为scrape_data.py. 但是,当我在当前脚本中导入此功能后使用此功能时,我得到了NameError: name 'BeautifulSoup' is not defined. 即使在我像这样在当前脚本中导入 BeautifulSoup 之后,也会发生这种情况:

from bs4 import BeautifulSoup
from selenium import webdriver

那么我怎样才能使这项工作呢?我是否应该在函数本身中导入函数所需的模块/库(这对我也不起作用)?谢谢!

在此处输入图像描述 在此处输入图像描述

标签: pythonbeautifulsoup

解决方案


推荐阅读