我有一个像这样的HTML标签:
<ul class="clearfix">
"<li><span class="bold-title">Starts:</span> October 2013</li>"
</ul>
我想提取“2013年10月” 我的代码是:
start_date = articl.find('ul', class_='clearfix').find('li').text.strip()
...摘录“开始时间:2013年10月”。
如何只拍摄日期?
答案 0 :(得分:1)
使用正则表达式:
import re
ss = '''
<ul class="clearfix">
<li><span class="bold-title">Starts:</span> October 2013</li>"
</ul>
blah blah
<ul class="clearfix">
<li><<a href="/derives/certificats/"> November 2014 </li>"
</ul>
'''
regx = re.compile('<ul +class="clearfix">.+?'
'<li>.*? *([^<>]+?) *</li>',
re.DOTALL)
print regx.findall(ss)
# prints ['October 2013', 'November 2014']
答案 1 :(得分:0)
使用.contents
,它返回一个列表:
>>> from bs4 import BeautifulSoup as BS
>>> html = (stuff above)
>>> soup = BS(html)
>>> print soup.find('li').contents[1].strip()
October 2013
答案 2 :(得分:0)
hold = li.text
for eachTag in li.findAll():
hold = hold.replace(eachTag.text,'')