python - NameError:名称 'container' 未定义 Python Webscraping

标签 python web-scraping nameerror

我目前正在尝试网页抓取。一切都很好,直到我试图缩小要刮取的标签的部分。每当我输入下面的代码时,就会出现上面的错误。

我以前尝试过这个,但是,它与缩进的移动一起工作。但这一次却没有成功。我尝试通过其他方式缩小范围,例如:按类(class)。然而,这一次却没有奏效。目前陷入困境。

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"})

就像我说的,过去可以通过调整容器变量的缩进来实现,但这次没有效果。我错过了什么吗?

最佳答案

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

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

会给你一个空数组,这样我就不会进入循环的内部部分,因此容器不会被定义。

关于python - NameError:名称 'container' 未定义 Python Webscraping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53998571/

相关文章:

javascript - PhantomJs 将参数传递给内部函数 page.evaluate

python - 如何使用 Beautifulsoup4 抓取属性中未指定类或 id 的 HTML 元素

python - 如何访问NameError中的名称?

python - 获取目录中文件的信息并在表格中打印

python - 我如何获得 Pandas 的年龄和日期

Python TKinter 多项操作

python - 为什么我不能在数据结构中导入函数名

python - Django 。如何在模板中显示图像

google-apps-script - 如何使用 Google-apps-script 从延迟加载的网页(通过 API)抓取数据?

python - NameError: 函数名未定义