0

我有一个这样的 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 月”。

怎么可能只取日期?

4

3 回答 3

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']
于 2013-05-25T08:05:59.590 回答
0
hold = li.text
for eachTag in li.findAll():
    hold = hold.replace(eachTag.text,'')
于 2013-05-28T17:43:20.487 回答
0

使用.contents,它返回一个列表:

>>> from bs4 import BeautifulSoup as BS
>>> html = (stuff above)
>>> soup = BS(html)
>>> print soup.find('li').contents[1].strip()
October 2013
于 2013-05-25T08:26:02.020 回答