Py学习  »  Python

名称错误:未定义名称“container”python webcraping

Jenshen Singh • 4 年前 • 561 次点击  

我目前正在尝试网络垃圾一切都很好,直到我试图缩小标签的范围。每当我输入下面的代码时,上面的错误就会出现。

不过,我以前也试过这种方法,它是随着缩进的变化而变化的。不过,这一次没有成功。我试着用其他方法缩小范围,例如:改为上课。不过,这次没有一个成功现在很吃力。

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

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48785
 
561 次点击  
文章 [ 1 ]  |  最新文章 4 年前
vishes_shell
Reply   •   1 楼
vishes_shell    5 年前

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

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

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