NameError:未定义名称“容器” Python Webscraping

时间:2019-01-01 20:06:59

标签: python web-scraping nameerror

我目前正在尝试网络抓取。一切正常,直到我要缩小标签范围的部分为止。每当我输入以下代码时,就会出现上述错误。

我以前尝试过这种方法,但是它随着缩进的改变而起作用。但是这一次,它没有用。我试图通过其他方式来缩小范围,例如:按类。但是,这次都没有起作用。目前卡住了。

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 :(得分:0)

原因是您在循环后使用了container变量的代码。同时

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

将为您提供一个空数组,这样我就不会进入循环的内部,因此不会定义container