目前,我正在使用以下方法获取标题:
title = html_response[/<title[^>]*>(.*?)<\/title>/,1]
这是一个很好的工作,从这是一个标题来抓住“这是一个标题”。但是,有一些网页在一行上打开标题标签,在下一行打印标题,然后关闭标题标签。
我上面提到的红宝石系列没有捕捉到那些标题,所以我只是想找到一个解决方案。
非常感谢任何帮助。
答案 0 :(得分:4)
This famous stackoverflow post解释了为什么使用正则表达式解析HTML是个坏主意。更好的方法是使用像Nokogiri这样的gem来解析标题标记。
答案 1 :(得分:1)
强制性不要将正则表达式与HTML句子一起使用。
title = html_response[/<title[^>]*>(.*?)<\/title>/m,1]
m
启用多线模式。