【发布时间】:2015-12-07 23:33:08
【问题描述】:
有人可以帮我解析一下吗?我有很多麻烦。我正在解析来自这个site 的信息。
下面是几行代码,它们从具有 2 个标题和 4 个值的表中提取数据:
for x in soup.findAll(attrs={'valign':'top'}):
print(x.contents)
make_list = x.contents
print(make_list[1]) #trying to select one of the values on the list.
当我尝试使用make_list[1] 行打印它时,会出现错误。但是,如果我拉出最后 2 行,我会得到我想要的列表格式的 html,但我似乎无法分离单个的或过滤它们(取出 html 标签)。有人可以帮忙吗?
这是一个输出示例,我想在此处具体说明。我不确定正确的正则表达式:
['\n', <td align="left">Western Mutual/Residence <a href="http://interactive.web.insurance.ca.gov/companyprofile/companyprofile?event=companyProfile&doFunction=getCompanyProfile&eid=3303"><small>(Info)</small></a></td>, '\n', <td align="left"><div align="right"> 355</div></td>, '\n', <td align="left"><div align="right">250</div></td>, '\n', <td align="left"> </td>, '\n', <td align="left">Western Mutual/Residence <a href="http://interactive.web.insurance.ca.gov/companyprofile/companyprofile?event=companyProfile&doFunction=getCompanyProfile&eid=3303"><small>(Info)</small></a></td>, '\n', <td align="left"><div align="right"> 320</div></td>, '\n', <td align="left"><div align="right">500</div></td>, '\n']
【问题讨论】:
-
预期输出是什么
-
“出现错误”。什么错误?
-
@Kevin IndexError: 列表索引超出范围
-
@VigneshKalai 表 1 - 公司名称:Western Mutual/Residence Premium:355 自付额:250 Sheet 2 - 公司名称:Western Mutual/Residence Premium:320 自付额:500 类似
-
“IndexError”是您得到的唯一输出吗?或者它在崩溃之前是否成功打印了一些内容?您认为此错误是在循环的第一次迭代中发生还是在以后发生?
标签: python html regex parsing beautifulsoup