【发布时间】:2016-01-11 00:58:08
【问题描述】:
</span>
<div class="clearB paddingT5px"></div>
<small>
10/12/2015 5:49:00 PM - Seeking Alpha
</small>
<div class="clearB paddingT10px"></div>
假设我有一个网站的源代码,其中一部分看起来像这样。我试图在“小”和“/小”之间划清界限。整个网页中有很多这样的行,夹在“small”和“/small”之间。我想提取“小”和“/小”之间的所有行。
我正在尝试使用看起来像这样的“正则表达式”函数
regex = '<small>(.+?)</small>'
datestamp = re.compile(regex)
urls = re.findall(datestamp, htmltext)
这只会返回一个空格。请给我建议。
【问题讨论】:
-
您为什么要尝试使用正则表达式解析 HTML?使用 HTML 解析器!
-
改用 (.+)。你的正则表达式是
lazy。 -
BeautifulSoup select 或 find_all 方法效率更高
-
虽然我同意 jonrsharpe。看看这个答案:stackoverflow.com/a/1732454/5388440
标签: python regex web-scraping beautifulsoup