Чтобы упростить мой текущий скрипт, я решил переместить некоторые функции в отдельный скрипт. Один из них ниже этого:
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
Так как я могу заставить это работать? Должен ли я импортировать необходимый модуль / библиотеку функции в саму функцию (что у меня тоже не работает)? Спасибо!