BeautifulSoup ejecuta tds=tr.findall("td") e informa un error

Permítanme comenzar con la conclusión: la ortografía es incorrecta. BeatufulSoup no tiene findall(), sino findAll().

BS4 recomienda usar find_all(), este findAll es solo para compatibilidad con BS3,

Aquí está la cosa:

soup = BeautifulSoup(html, 'html.parser')
trs = soup.find(id="grid").find("tbody").findAll("tr")
for tr in trs:
    tds=tr.findall("td")

BeautifulSoup ejecuta tds=tr.findall("td") e informa un error: TypeError: el objeto 'NoneType' no se puede llamar

Reemplazado con findChildren y tiene éxito:

soup = BeautifulSoup(html, 'html.parser')
trs = soup.find(id="grid").find("tbody").findAll("tr")
for tr in trs:
    tds = tr.findChildren()

Fue extraño por un tiempo, pero después de la investigación, resultó que era un error tipográfico de mayúsculas y minúsculas.

Supongo que te gusta

Origin blog.csdn.net/bigcarp/article/details/128579063
Recomendado
Clasificación