网页title中包含换行,如何用正则表达式提取出来?

爱蜜莉雅
  • 253

在用python做CSDN的网页爬虫,在爬取网页title时,我一直用的正则表达式(?<=\<title\>).+?(?=\<)在CSDN中用不了了,去CSDN源码一看,title换行显示了
图片描述

所以导致原来的正则表达式无法使用,那么,问题来了,像这样网页title中包含换行,如何用正则表达式提取出来呢?

PS:

  1. 不想用xpath或beautifulsoup的方法,只需要正则哦
  2. CSDN本身有反爬虫机制,我并不是因为这个反爬虫而爬不到title的哦

谢谢大家

-----------------------解决方法-----------------------
参照@caimaoy 的方法,我将正则表达式改为 (?<=\<title\>)(?:.|\n)+?(?=\<)后,title完美提取。
再次感谢大家。

回复
阅读 5.4k
2 个回答
✓ 已被采纳

表达式那边加个flag

tite = '......'
print(re.findall('(?<=\<title\>).+?(?=\<)', title, re.S))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏