当前位置: 首页 > 知识库问答 >
问题:

BeautifulSoup:“ResultSet”对象没有“find_all”属性

井宪
2023-03-14
from bs4 import BeautifulSoup
import urllib2

url = 'http://www.data.jma.go.jp/obd/stats/etrn/view/monthly_s3_en.php?block_no=47401&view=1'
html = urllib2.urlopen(url).read()        
soup = BeautifulSoup(html)
table = soup.find_all('table', class_='data2_s')
rows = table.find_all('tr')
print rows

 rows = table.find_all('tr')
AttributeError: 'ResultSet' object has no attribute 'find_all'

我想把表抓成CSV文件。怎么往前走?

这是表:

[<table class="data2_s"><caption class="m">WAKKANAI\xa0\xa0\xa0WMO Station ID:47401\xa0Lat\xa045<sup>o</sup>24.9'N\xa0\xa0Lon\xa0141<sup>o</sup>40.7'E</caption><tr><th scope="col">Year</th><th scope="col">Jan</th><th scope="col">Feb</th><th scope="col">Mar</th><th scope="col">Apr</th><th scope="col">May</th><th scope="col">Jun</th><th scope="col">Jul</th><th scope="col">Aug</th><th scope="col">Sep</th><th scope="col">Oct</th><th scope="col">Nov</th><th scope="col">Dec</th><th scope="col">Annual</th></tr><tr class="mtx" style="text-align:right;"><td style="text-align:center">1938</td><td class="data_0_0_0_0">-5.2</td><td class="data_0_0_0_0">-4.9</td><td class="data_0_0_0_0">-0.6</td><td class="data_0_0_0_0">4.7</td><td class="data_0_0_0_0">9.5</td><td class="data_0_0_0_0">11.6</td><td class="data_0_0_0_0">17.9</td><td class="data_0_0_0_0">22.2</td><td class="data_0_0_0_0">16.5</td><td class="data_0_0_0_0">10.7</td><td class="data_0_0_0_0">3.3</td><td class="data_0_0_0_0">-4.7</td><td class="data_0_0_0_0">6.8</td></tr>\n<tr class="mtx" style="text-align:right;"><td style="text-align:center">1939</td><td class="data_0_0_0_0">-7.5</td><td class="data_0_0_0_0">-6.6</td><td class="data_0_0_0_0">-1.4</td><td]

共有1个答案

金和雅
2023-03-14

试试这个:

rows = table[0].find_all('tr')

由于find_all似乎返回了Pythonlist,因此您试图在list上调用find_all,而该列表没有这样的方法。

将结果列表()转换为CSV格式。。那要看情况了。如果您只想将其显示在屏幕上,可以执行以下操作:

','.join(rows)

如果你想把它放在一个文件中,你需要打开一个文件,然后把上面的一行写进去。但也有一些Python模块处理创建CSV内容。这是一个完全不同的问题。

 类似资料:
  • 我正在尝试将表从网站解析到本地数据帧。 以下是html: 这是我的密码: 但是我遇到了这个错误,无法继续:AttributeError:ResultSet对象没有“find_all”属性。您可能将元素列表视为单个元素。当您打算调用find()时,是否调用了find_all()? 有人能帮帮我吗? 我会非常感激的。 提前感谢。

  • 问题内容: 我最近将Windows计算机上的BeautifulSoup从3.0版升级到了4.1版。 我现在遇到一个奇怪的错误: 这是导致引发异常的代码段: BS的文档没有提到构造函数签名是如何从v3更改为v4的。我该如何解决? 问题答案: 传入的HTML或XML实体始终会转换为相应的Unicode字符。Beautiful Soup 3有许多重叠的实体处理方式,已被删除。 BeautifulSoup

  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 这是我第一次使用网页抓取。到目前为止,我能够导航并找到我想要的HTML部分。我也可以打印出来。问题是只打印文本,这不起作用。我在尝试时遇到以下错误: 这是我的代码:

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建

  • 我创建了这个简单的GUI: 我让用户界面启动并运行。当我点击按钮时,我在控制台上得到以下错误: 为什么设置为?