BeautifulSoup не определяется при вызове в функции - PullRequest
0 голосов
/ 16 сентября 2018

Мой веб-скребок выдает NameError: name 'BeautifulSoup' is not defined, когда я вызываю BeautifulSoup () внутри моей функции, но он работает нормально, когда я вызываю его вне функции и передаю 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')

1 Ответ

0 голосов
/ 18 сентября 2018

Я полагаю, вы допустили орфографическую ошибку в BeautifulSoup с учетом регистра.если нет, используйте запросы в своем коде как:

from teams.models import *
from bs4 import BeautifulSoup
from django.conf import settings
import requests, os, string

def scrapeTeamPage(url):
    res = requests.get(url)
    soup = BeautifulSoup(res.content, 'html.parser')
    teamInfo = soup.find('div', 'profile_info')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...