如何使用Beautiful Soup提取HTML标记内的特定文本?

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


如何只取日期呢?


牛魔王的故事
浏览 240回答 3
3回答

catspeake

使用正则表达式:import ress = '''<ul class="clearfix">&nbsp; <li><span class="bold-title">Starts:</span> October 2013</li>"</ul>blah blah<ul class="clearfix">&nbsp; <li><<a href="/derives/certificats/"> November 2014&nbsp; &nbsp; &nbsp;</li>"</ul>&nbsp; &nbsp;'''regx = re.compile('<ul +class="clearfix">.+?'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '<li>.*? *([^<>]+?) *</li>',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; re.DOTALL)print regx.findall(ss)# prints ['October 2013', 'November 2014']

收到一只叮咚

hold = li.textfor eachTag in li.findAll():&nbsp; &nbsp; hold = hold.replace(eachTag.text,'')

慕尼黑5688855

使用.contents,它返回一个列表:>>> from bs4 import BeautifulSoup as BS>>> html = (stuff above)>>> soup = BS(html)>>> print soup.find('li').contents[1].strip()October 2013
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python