【发布时间】:2023-02-06 21:12:09
【问题描述】:
我尝试从维基百科页面上抓取一个表格来练习以 CSV 文件格式保存数据,但到目前为止我的尝试被证明是不成功的,因为我遇到了这个持续存在的 BeautifulSoup 错误:
追溯(最近一次通话):
文件“C:\Users\Lenovo.venvs\webscraping\tableexercise.py”,第 14 行,在 <module> 中
对于 trtag.findAll('th') 中的单元格:
^^^^^^^^^^^^^
文件“C:\Users\Lenovo.envs\web scrape\Lib\site-packages\bs4\element.py”,第 2289 行,位于获取属性
提高属性错误( AttributeError:ResultSet 对象没有属性“findAll”。您可能将元素列表视为单个元素。当您打算调用 find() 时,您是否调用了 find_all()?这是我的代码
import csv from urllib.request import urlopen from bs4 import BeautifulSoup token = urlopen("https://en.wikipedia.org/wiki/Comparison_of_text_editors") bsobj = BeautifulSoup(token, "html.parser") table = bsobj.findAll("table", {"class": "wikitable"})\[0\] trtag = table.findAll("tr") for x in trtag: l = \[\] for cell in trtag.findAll('th'): l.append(cell.get_textO()) print(l)我需要做的是生成单个单词和句子的列表,以便我可以在我的 csv 文件中对其进行迭代。我尝试附加 trtag 的内容,但只生成了单个字母的列表。无论出于何种原因,BeautifulSoup 也非常挑剔我可以使用
find和找不到的标签findAll。它经常会返回None,即使我可以在网站上实际看到标签及其属性(包括更具体搜索的属性也无济于事),一旦我尝试用它做任何事情就会返回一个属性错误多变的。另外,我不知道它是否相关,但.children或.parent或其中任何一个都不起作用。我希望有人有类似的问题,可以帮助我解决它。
【问题讨论】:
标签: python python-3.x web-scraping