NameError: имя 'контейнера' не определено Python Webscraping - PullRequest
0 голосов
/ 01 января 2019

Я сейчас пробую вэбскрейпинг.Все хорошо, пока та часть, где я пытаюсь сузить метки, чтобы соскрести.Всякий раз, когда я ввожу приведенный ниже код, появляется ошибка выше.

Я пробовал это раньше, однако, это работало со сдвигом отступов.На этот раз, однако, это не сработало.Я пытался сузить его с помощью других средств, например: вместо класса.Однако на этот раз ничего не получилось.В настоящее время застрял.

from bs4 import BeautifulSoup as soup
import requests

link = '*insert link*'
username = 'username123'
password = 'password123'
r = requests.get(link, auth=(username, password))
page = r.content

page_soup = soup(page, "html.parser")

div = page_soup.findAll("div", {"class":"Ovx(s)"})
for table in div:
    tables = table.find("table")
    tbody = tables.find("tbody")
    container = tbody.findAll("tr", {"class":"Bgc($extraLightBlue):h"})

Я тоже пробовал это:

div = page_soup.findAll("div", {"class":"Ovx(s)"})
for table in div:
    tables = table.find("table")
    tbody = tables.find("tbody")
container = tbody.findAll("tr", {"class":"Bgc($extraLightBlue):h"})

Как я уже говорил, это работало в прошлом с настройкой отступа переменной контейнера, нобезрезультатно на этот раз.Я что-то пропустил?

1 Ответ

0 голосов
/ 01 января 2019

Причина в том, что у вас есть код, который следует вашему циклу и использует вашу переменную container.В то же время

div = page_soup.findAll("div", {"class":"Ovx(s)"}

даст вам пустой массив, так что я не буду входить во внутреннюю часть вашего цикла, следовательно, container не будет определен.

...