我正在尝试使用BeautifulSoup提取此数据表的第一和第三列。通过查看HTML,第一列具有一个<th>
标记。感兴趣的另一列具有作为<td>
标记。无论如何,我所能获得的就是带有标签的列的列表。但是,我只想要文本。
table
已经是列表,所以我不能使用findAll(text=True)
。我不确定如何以另一种形式获得第一列的清单。
from BeautifulSoup import BeautifulSoup
from sys import argv
import re
filename = argv[1] #get HTML file as a string
html_doc = ''.join(open(filename,'r').readlines())
soup = BeautifulSoup(html_doc)
table = soup.findAll('table')[0].tbody.th.findAll('th') #The relevant table is the first one
print table
您可以尝试以下代码:
import urllib2
from BeautifulSoup import BeautifulSoup
url = "http://www.samhsa.gov/data/NSDUH/2k10State/NSDUHsae2010/NSDUHsaeAppC2010.htm"
soup = BeautifulSoup(urllib2.urlopen(url).read())
for row in soup.findAll('table')[0].tbody.findAll('tr'):
first_column = row.findAll('th')[0].contents
third_column = row.findAll('td')[2].contents
print first_column, third_column
如您所见,代码只是连接到url并获取html,BeautifulSoup找到第一个表,然后找到所有“ tr”并选择第一列(即“ th”)和第三列,即一个“
TD”。
我想摘录: 图像标记和 类数据内的锚标记文本 我成功地提取了img src,但从锚标记中提取文本时遇到了问题。 这是整个HTML页面的链接。 这是我的代码: 我试图做的是提取图像src(link)和div class=data中的标题,例如: 应提取: 尼康COOLPIX L26 16.1 MP数码相机,配备5倍变焦NIKKOR玻璃镜头和3英寸LCD(红色)
问题内容: 我要提取: 来自标签的src的文本和 类数据内的定位标记的文本 我成功地提取了img src,但是从锚标记中提取文本时遇到了麻烦。 这是整个HTML页面的链接。 这是我的代码: 我想做的是 提取图像src(链接)和中的标题,因此例如: 应该提取: 问题答案: 以上所有答案确实可以帮助我构建答案,因此,我对其他用户提出的所有答案投了赞成票:但是我最终对自己正在处理的确切问题汇总了自己的答
我使用hibernate进行数据库通信。我有一个类: 现在我想用它的主键来获取这个对象,但是这个对象应该只有特定的列? 我尝试使用标准和投影,它返回一个结果,但它没有映射到我期望的对象(Person Object) 任何想法如何解决这个问题使用Hibernate查询/标准? 谢谢
上面的代码只显示了三个表单,而在Chrome的页面中显示了13个 元素。但如果我查看页面源代码( Chrome中),源代码只显示BeautifulSoup刮过的三种形式。 我怎样才能刮掉所有的表格?
问题内容: 我试图在网页上的特定“输入”标签中提取单个“值”属性的内容。我使用以下代码: 我收到TypeError:列表索引必须是整数,而不是str 即使从Beautifulsoup文档中我了解到字符串在这里也不应该是一个问题…但是我没有专家,我可能会误解了。 问题答案: 返回所有找到的元素的列表,因此: 是一个列表(可能仅包含一个元素)。根据你的确切要求,你应该执行以下操作: 或使用仅返回一个(
问题内容: 我当地的机场可耻地阻止了没有IE的用户,并且看起来很糟糕。我想编写一个Python脚本,该脚本每隔几分钟就会获取“到达和离开”页面的内容,并以更具可读性的方式显示它们。 我选择的工具是使网站相信我使用IE的机械化工具,以及BeautifulSoup来解析页面以获得航班数据表的工具。 老实说,我迷失在BeautifulSoup文档中,无法理解如何从整个文档中获取表(我知道它的标题),以及