首页  >  问答  >  正文

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

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

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

PS:

  1. 不想用xpath或beautifulsoup的方法,只需要正则哦

  2. CSDN本身有反爬虫机制,我并不是因为这个反爬虫而爬不到title的哦

谢谢大家

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

女神的闺蜜爱上我女神的闺蜜爱上我2699 天前968

全部回复(2)我来回复

  • 仅有的幸福

    仅有的幸福2017-06-22 11:53:43

    1. re.M 多行模式

    2. 自己写多行匹配 http://python3-cookbook.readt...

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-22 11:53:43

    表达式那边加个flag

    tite = '......'
    print(re.findall('(?<=\<title\>).+?(?=\<)', title, re.S))

    回复
    0
  • 取消回复