使用python beauthout数据分析时出错

2024-10-03 21:24:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要在一个表中填充条目芬德尔汤('table',{'id':'taxHistoryTable'})在HTML页面中。现在我需要在这个soup中创建一个类似于this with的指针,这样我就可以得到

<table id="taxHistoryTable" class="view-history responsive-table yui3-toggle-content-minimized ceilingless"><thead>
<tr><th class="year">Year</th>
<th class="numeric property-taxes">Property taxes</th>
<th class="numeric">Change</th><th class="numeric tax-assessment">Tax assessment</th>
<th class="numeric">Change</th></tr></thead><tfoot>
<tr><td colspan="5"><span class="yui3-toggle-content-link-block"><a href="#" class="yui3-toggle-content-link">
<span class="maximize">More</span><span class="minimize">Fewer</span></a></span></td>             </tr></tfoot><tbody>
<tr class="alt"><td>2011</td><td class="numeric">$489</td><td class="numeric"><span class="delta-value"><span class="inc">-81.8%</span></span></td>
<td class="numeric">$34,730</td>
<td class="numeric"><span class="delta-value"><span class="inc">-6.9%</span></span>   </td></tr><tr>
<td>2010</td><td class="numeric">$2,683</td><td class="numeric"><span class="delta-value"><span class="dec">177%</span></span></td><td class="numeric">$37,300</td><td class="numeric"><span class="delta-value"><span class="dec">98.7%</span></span></td></tr><tr class="alt"><td>2009</td><td class="numeric">$969</td><td class="numeric"><span class="delta-value">--</span></td><td class="numeric">$18,770</td><td class="numeric"><span class="delta-value">--</span></td></tr><tr class="minimize"><td>2008</td><td class="numeric">$0</td><td class="numeric"><span class="delta-value">--</span></td><td class="numeric">$18,770</td><td class="numeric"><span class="delta-value">--</span></td></tr></tbody></table>

在表类条目taxHistoryTable中。我写了两个循环来精确地标识位置,然后尝试将其分配给一个变量名,然后将其写入一个CSV文件。在

^{2}$

我正在处理的实际代码非常长,因此我只包含了我收到的错误“UnboundLocalError:local variable'tax1'referenced before assignment”的特定部分。在

有人能帮助我理解如何分配这些变量,使这些变量中的值在循环完成后可用。在


Tags: idvaluetable条目contenttrclasstd
1条回答
网友
1楼 · 发布于 2024-10-03 21:24:47

您试图在zestimate之后定位的元素,如tax..等都是urllib2响应中的空标记。简而言之,loop1 = soup.findAll('table',{'id':'taxHistoryTable'})将找不到任何内容,因为如果您使用urllib2或mechanize发出请求,它的父级是一个空的div标记。所以在那之后你的代码肯定行不通。在

要收集完整的HTML源代码(如您在浏览器中看到的那样),您需要一个可以处理javascript等的工具,并且功能类似于真正的浏览器,然后您可以Selenium鬼.py幻影…等等

顺便说一句,既然你想刮齐洛。你最好在启动你的机器人之前检查一下他们的API。祝你好运。在

相关问题 更多 >