我对正则表达式和Python的urllib不太熟悉。我通过在线教程学习了网络爬虫并使用了以下代码。在学习了正则表达式后,我认为我可以在我的正则表达式中使用(.+)代替(.+?),但是结果我错了。我打印出来的HTML代码比我想要的多得多。我以为我已经掌握了正则表达式,但现在我感到困惑。请解释一下这两个表达式之间的区别,以及为什么它会抓取那么多的HTML。谢谢!
附注:这是一个星巴克股票报价爬虫。
附注:这是一个星巴克股票报价爬虫。
import urllib
import re
url = urllib.urlopen("http://finance.yahoo.com/q?s=SBUX")
htmltext = url.read()
regex = re.compile('<span id="yfs_l84_sbux">(.+?)</span>')
found = re.findall(regex, htmltext)
发现打印