使用python解析HTML中的表

时间:2016-11-02 23:43:30

标签: python html parsing

我一直在尝试解析网页上的信息。基本上,我想从HTML中的表中提取一些信息,以便我可以推测它。我坚持的部分是解析表中的HTML。

网页为http://weather.unbc.ca/wx/data-table.html

我试过用:

import urllib2
from bs4 import BeautifulSoup


contenturl = "http://weather.unbc.ca/wx/data-table.html"


soup = BeautifulSoup(urllib2.urlopen(contenturl).read())

table = soup.find('tr', attrs={'class': 'content'})

rows = table.findAll('tr')
for tr in rows:
cols = tr.findAll('td')
if 'cell_c' in cols[0]['class']:
    # currency row
        Date_time, Record, Tair, Tdew, RH, pstn, pmsl, wspd_avg, wspd_vec,      wdir, wstd, wgust, precip, solarq, solarq_un, kdown, kdown_dif, Sun, Ldown = [c.text for c in cols]
        print Date_time, Record, Tair, Tdew, RH, pstn, pmsl, wspd_avg, wspd_vec, wdir, wstd, wgust, precip, solarq, solarq_un, kdown, kdown_dif, Sun, Ldown

我似乎得到了错误: Traceback(最近一次调用最后一次):   文件“。\ data.py”,第14行,in     rows = table.findAll('tr') AttributeError:'NoneType'对象没有属性'findAll'

请原谅我对美丽汤的无知。我对其他方法完全开放。 我的目标是将表中的最后一行放入变量中,以便我可以趋势化。

1 个答案:

答案 0 :(得分:0)

NoneType 基本上意味着 soup.find 返回无。

我不是 BeautifulSoup urllib 的专家,但我的猜测是它无法找到任何 tr ,类含量

希望它有所帮助。