Python 使用BeautifulSoup删除具有多个相同类名的数据

Python 使用BeautifulSoup删除具有多个相同类名的数据,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我正在使用房地产网站练习抓取,我想抓取最近销售的所有地址。例如,网站HTML的一部分如下所示: url= 但是,我得到一个错误: IndexError: list index out of range 我得到了前几个地址,但就在“最近的销售”之前。 它只获取第一部分的地址,而不获取整个网站的地址。 如何获取所有地址?findAll方法返回与搜索条件匹配的所有元素的列表 在您的例子中,它返回一个长度为2的列表 然后,您将遍历0-29,并在length2列表中查找这些索引 这就是你的错误 您的代码

我正在使用房地产网站练习抓取,我想抓取最近销售的所有地址。例如,网站HTML的一部分如下所示: url=

但是,我得到一个错误:

IndexError: list index out of range
我得到了前几个地址,但就在“最近的销售”之前。 它只获取第一部分的地址,而不获取整个网站的地址。
如何获取所有地址?

findAll方法返回与搜索条件匹配的所有元素的列表

在您的例子中,它返回一个长度为2的列表

然后,您将遍历0-29,并在length2列表中查找这些索引

这就是你的错误

您的代码应该更像:

for x in soup.findAll('a', {'class':'card-title'}):
  print(x)

你能分享一下你想要刮的页面吗?@ZacharyBlackwood我刚刚加了一句!看起来您可能使用了错误的
。该页面上当前有12个项目的类别为
uc listingCart title
,而不是
卡片标题
。如果您按照@user2263572的建议循环浏览这些内容(而不是硬编码
30
),那么您应该可以找到所有要查找的内容。@ZacharyBlackwood您好,我尝试了这个建议,但它仍然只得到了部分内容,而不是全部内容。…:-(啊。看起来在前端动态添加了额外的项目。这个答案可能有助于在javascript添加项目后获取页面内容。上面的回答回答回答了您的原始问题。这回答了您当前的问题。嗨,我不确定这篇文章与我的问题有什么关系……我在m中使用了“html.parser”y代码。您能解释一下吗?我们将非常感谢。您的问题是“使用BeautifulSoup使用多个相同类名刮取数据”,您的问题是“findall没有找到它应该找到的所有内容”。我链接了问题“Beautiful Soup findall没有找到所有内容”。我认为这是相关的。要么链接解释了您的问题,要么您没有使用正确的css选择器。不幸的是,我认为这篇文章没有帮助:-(我认为我的问题与文章中的问题不同。
IndexError: list index out of range
for x in soup.findAll('a', {'class':'card-title'}):
  print(x)