【发布时间】:2019-02-20 19:18:40
【问题描述】:
当我在函数内部调用 BeautifulSoup() 时,我的网络抓取工具正在抛出 NameError: name 'BeautifulSoup' is not defined,但是当我在函数外部调用它并将 Soup 作为参数传递时,它可以正常工作。
这是工作代码:
from teams.models import *
from bs4 import BeautifulSoup
from django.conf import settings
import requests, os, string
soup = BeautifulSoup(open(os.path.join(settings.BASE_DIR, 'revolver.html')), 'html.parser')
def scrapeTeamPage(soup):
teamInfo = soup.find('div', 'profile_info')
...
print(scrapeTeamPage(soup))
但是当我在我的函数中移动 BeautifulSoup 调用时,我得到了错误。
from teams.models import *
from bs4 import BeautifulSoup
from django.conf import settings
import requests, os, string
def scrapeTeamPage(url):
soup = BeautifulSoup(open(os.path.join(settings.BASE_DIR, url)), 'html.parser')
teamInfo = soup.find('div', 'profile_info')
【问题讨论】:
-
不是说
Name url not defined吗?因为它没有在您的第二个示例中定义。 -
编辑以反映我的代码
-
您是否真的从您的代码中复制了示例?如果不是,请检查拼写错误(例如尝试区分大小写的搜索)
-
请附上完整的错误信息。
标签: python beautifulsoup