我有5000多个网页,我想要所有这些网页的标题.在我的项目中,我使用的是BeautifulSoup html解析器.
soup = BeautifulSoup(open(url).read())
soup('title')[0].string
但是这需要很多时间.只是为了一个网页的标题,我正在读取整个文件并构建解析树(我认为这是延迟的原因,如果我错了,请纠正我).
是否有任何其他简单的方法可以在python中做到这一点.
解决方法:
如果只使用一个简单的正则表达式,肯定会更快,BeautifulSoup相当慢.您可以执行以下操作:
import re
regex = re.compile('<title>(.*?)</title>', re.IGNORECASE|re.DOTALL)
regex.search(string_to_search).group(1)