我一直在尝试解析网页上的信息。基本上,我想从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'
请原谅我对美丽汤的无知。我对其他方法完全开放。 我的目标是将表中的最后一行放入变量中,以便我可以趋势化。答案 0 :(得分:0)
NoneType 基本上意味着 soup.find 返回无。
我不是 BeautifulSoup 或 urllib 的专家,但我的猜测是它无法找到任何 tr ,类含量强>
希望它有所帮助。