2024-10-01 22:40:48 发布
网友
我有一个正则表达式,links = re.compile('<a(.+?)href=(?:"|\')?((?:https?://|/)[^\'"]+)(?:"|\')?(.*?)>(.+?)</a>',re.I).findall(data)
links = re.compile('<a(.+?)href=(?:"|\')?((?:https?://|/)[^\'"]+)(?:"|\')?(.*?)>(.+?)</a>',re.I).findall(data)
在某些html中查找链接,对某些html需要很长时间,有什么优化建议吗?在
它窒息的是http://freeyourmindonline.net/Blog/
你为什么不使用html解析器?使用beauthoulsoup之类的东西,您可以获得所有链接,而不必使用那样难看的regex。在
如何更直接地处理href?在
re_href = re.compile(r"""<\s*a(?:[^>]+?)href=("[^"]*(\\"[^"]*)*"|'[^']*(\\'[^']*)*'|[^\s>]*)[^>]*>""", re.I)
这需要0.007秒,而你的findall在我的电脑上需要38.694秒。在
findall
我建议在这个任务中使用BeautifulSoup。在
你为什么不使用html解析器?使用beauthoulsoup之类的东西,您可以获得所有链接,而不必使用那样难看的regex。在
如何更直接地处理href?在
这需要0.007秒,而你的
findall
在我的电脑上需要38.694秒。在我建议在这个任务中使用BeautifulSoup。在
相关问题 更多 >
编程相关推荐