.get_text()在BeautifulSoup中不起作用

2024-09-30 20:17:10 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么soup不识别.get_text()函数来删除HTML元素

我一直收到以下错误消息:

  File "./bondora.py", line 45, in <module>
    onlineumsaetze.append(td.get_text())
  File "/usr/local/lib/python3.8/dist-packages/bs4/element.py", line 2173, in __getattr__
    raise AttributeError(
AttributeError: ResultSet object has no attribute 'get_text'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?

我的代码:

#!/usr/bin/python3
from selenium import webdriver
from seleniumrequests import Firefox
from pyvirtualdisplay import Display

from bs4 import BeautifulSoup

onlineumsaetze = []

url = browser.page_source
soup = BeautifulSoup(url, 'lxml')
tab = soup.find('table', {"class":"table js-filter-table"})


for row in tab.find_all('tr'):
    td = row.find_all("td")
    onlineumsaetze.append(td.get_text())


print(onlineumsaetze)

Tags: textinfrompyimportgetlinetable
1条回答
网友
1楼 · 发布于 2024-09-30 20:17:10

.find_all()返回一个BS对象列表,不能使用.get_text()从列表中提取文本。您必须在该列表中再次迭代,并对每个元素使用get_text()

for row in tab.find_all('tr'):
  td = row.find_all("td")
  
  for element in td:
    onlineumsaetze.append(element.get_text())

相关问题 更多 >