我有这个html代码,我试图只提取像“0004”、“2020年3月”、“300950美元”等内容
<ul class="plan-info-lst">
<li>
<span>Homesite</span>
0004
</li>
<li>
<span>Est. availability</span>
March 2020
</li>
<li>
<span>Priced From</span>
$300,950
<a href="javascript:void(0);" v-on:click="openEstimatedPaymentModal">Est. payment</a>
</li>
<li>
<span>Home Size</span>
2161 sq.ft.
</li>
<li>
<span>Stories</span>
2
</li>
<li>
<span>Beds</span>
3
</li>
<li>
<span>Baths</span>
2.5
</li>
<li>
<span>Garage</span>
2
</li>
</ul>
我试着使用这种技术,但通过这种技术,我也得到了其他文本,如“Homesite”、“Est”。可用性等。是否有办法只获取其他内容
gettext = soup_level2.find('ul', {'class' : "plan-info-lst"}).get_text()
这有点不雅观,但可以在没有正则表达式的情况下完成(不推荐用于html):
首先添加:
然后
输出:
另一个解决方案
结果:
看起来像是regular expressions的工作!您可以使用它来匹配字符串中的模式。在本例中,所有数据都发生在
</span>
标记之后,后跟换行和缩进。因此,如果我们这样匹配该模式:我们可以得到输出
['0004', 'March 2020', '$300,950', '2161 sq.ft.', '2', '3', '2.5', '2']
相关问题 更多 >
编程相关推荐