我试图从下面的所有行中提取文本(“li”):
<ul id="tco_detail_data">
<li>
<ul class="list-title">
<li class="first"> </li>
<li>Year 1</li>
<li>Year 2</li>
<li>Year 3</li>
<li>Year 4</li>
<li>Year 5</li>
<li class="last">5 Yr Total</li>
</ul>
</li>
<hr class="loose-dotted" />
<li class="first">
<ul class="first">
<li class="first">Depreciation</li>
<li>$5,390</li>
<li>$1,658</li>
<li>$1,459</li>
<li>$1,293</li>
<li>$1,161</li>
<li class="last">$10,961</li>
</ul>
</li>
<hr class="loose-dotted" />
<li>
<ul>
<li class="first">Taxes & Fees</li>
<li>$1,424</li>
<li>$61</li>
<li>$61</li>
<li>$61</li>
<li>$61</li>
<li class="last">$1,668</li>
</ul>
</li>
<hr class="loose-dotted" />
<li>
<ul>
<li class="first">Financing</li>
<li>$1,022</li>
<li>$817</li>
<li>$603</li>
<li>$375</li>
<li>$135</li>
<li class="last">$2,952</li>
</ul>
为了达到这一点,我使用了以下方法:
^{pr2}$现在,提取^{cl1}下的所有行$
details = soup.find_all("li", {"class":"first"})
但是,它只得到firs的父li标签和子li标签。如何重复这个过程来选择每个li类的“第一”部分并将结果写入CSV? 如果有任何指导,我将不胜感激。在
下面是一个与前面的答案类似的方法,它将以嵌套列表形式(即
[[table row], [table row], ...'
)从网页中获得表:我不确定我得到的输出是否是您想要的,因为您没有提供示例输出。在
代码:
输出:
^{pr2}$为了能够将结果保存到csv文件中,我使用了cmaher的答案,因为它有助于创建csv文件。我的代码只是给您带来
li
标记之间所有文本的数据。 请注意,我使用管道而不是逗号作为csv文件内容的分隔符,因为数据包含逗号。在代码:
输出:
相关问题 更多 >
编程相关推荐