鉴于下面的 HTML 代码,我只想输出 h1 的文本,而不是“关于”的详细信息,这是跨度的文本(由 h1 封装)。
我当前的输出是:
Details about New Men's Genuine Leather Bifold ID Credit Card Money Holder Wallet Black
我愿意:
New Men's Genuine Leather Bifold ID Credit Card Money Holder Wallet Black
这是我正在使用的 HTML
<h1 class="it-ttl" itemprop="name" id="itemTitle"><span class="g-hdn">Details about </span>New Men's Genuine Leather Bifold ID Credit Card Money Holder Wallet Black</h1>
这是我当前的代码:
for line in soup.find_all('h1',attrs={'itemprop':'name'}):
print line.get_text()
注意:我不想只截断字符串,因为我希望此代码具有一定的可重用性。 最好是一些代码可以裁剪出范围内的任何文本。
最佳答案
您可以使用 extract()
删除所有 span
标签:
for line in soup.find_all('h1',attrs={'itemprop':'name'}):
[s.extract() for s in line('span')]
print line.get_text()
# => New Men's Genuine Leather Bifold ID Credit Card Money Holder Wallet Black
关于python - beautifulsoup .get_text() 对我的 HTML 解析不够具体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462360/