【Python】网页title中包含换行,如何用正则表达式提取出来?
在用python做CSDN的网页爬虫,在爬取网页title时,我一直用的正则表达式(?<=\<title\>).+?(?=\<)
在CSDN中用不了了,去CSDN源码一看,title换行显示了
所以导致原来的正则表达式无法使用,那么,问题来了,像这样网页title中包含换行,如何用正则表达式提取出来呢?
PS:
- 不想用xpath或beautifulsoup的方法,只需要正则哦
- CSDN本身有反爬虫机制,我并不是因为这个反爬虫而爬不到title的哦
谢谢大家
-----------------------解决方法-----------------------
参照@caimaoy 的方法,我将正则表达式改为 (?<=\<title\>)(?:.|\n)+?(?=\<)
后,title完美提取。
再次感谢大家。
回答
re.M 多行模式
自己写多行匹配 python3-cookbook.readthedocs.io/zh_CN/latest/c02/p08_regexp_for_multiline_partterns.html" rel="nofollow noreferrer">http://python3-cookbook.readt...
表达式那边加个flag
吧
tite = '......'print(re.findall('(?<=\<title\>).+?(?=\<)', title, re.S))
以上是 【Python】网页title中包含换行,如何用正则表达式提取出来? 的全部内容, 来源链接: utcz.com/a/79698.html