我使用BeautifulSoup从这个网站http://www.cpso.on.ca/docsearch/default.aspx解析HTML与Python
这里提取搜索结果的一些数据的HTML代码的样本这一直是.prettify()
<tr>
<td>
<a class="doctor" href="details.aspx?view=1&id= 72374">
Smith, Jane
</a>
(#72374)
</td>
<td>
Suite 042
<br />
21 Jump St
<br />
Toronto ON M4C 5T2
<br />
Phone: (555) 555-5555
<br />
Fax: (555) 555-555
</td>
<td align="center">
</td>
</tr>
基本上每个<tr>
区块有3个<td>
区块。
我所要的输出是
Smith, Jane Suite 042 21 Jump St Toronto ON M4C 5T2
我也有一个新行分隔的条目。
我有问题写在第二个<td>
块中存储的地址。
我也在写这个文件。
这里是我迄今为止...它不工作:P
for tr in soup.findAll('tr'):
#td1 = tr.td
td2 = tr.td.nextSibling.nextSibling
for a in tr.findAll('a'):
target.write(a.string)
target.write(" ")
for i in range(len(td2.contents)):
if i != None:
target.write(td2.contents[i].string)
target.write(" ")
target.write("\n")
你的第一个'for'环缺少':',和内循环是不缩进。这是实际的代码还是发布错误? – Jacob 2012-01-11 01:57:16
是的。我的错。 Python是我刚刚拿起来做一些快速的HTML解析。我 – KylePDM 2012-01-11 01:59:52
我也想着甚至没有循环td和a,只是当我通过tr循环制作2个温度td值。 – KylePDM 2012-01-11 02:01:30