re.match匹配多行数据失败
来源:互联网 发布:数据库原理 编辑:程序博客网 时间:2024/05/18 22:41
出错代码与现象:
正则表达式提取网站源码中的_xsrf的值
使用单行数据测试正则表达式,能够正确提取,但是换成网页全文数据的时候,出现错误。
import requeststry: import cookielibexcept: import http.cookiejar as cookielibimport resession = requests.session()header = { "HOST": "www.zhihu.com", "Referer": "https://www.zhihu.com/", "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0"}def get_xsrf(): r = session.get("https://www.zhihu.com", headers=header) # print(r.text) text1 = '<input type="hidden" name="_xsrf" value="5986f7d0c7314107a47024ef01fedcc8"/>' text = 'xxx\n<input type="hidden" name="_xsrf" value="5986f7d0c7314107a47024ef01fedcc8"/>' match_obj = re.match('.*name="_xsrf" value="(.*?)"', text, re.DOTALL) if match_obj: print(match_obj.group(1)) else: print("None")get_xsrf()
错误原因以及解决方案
re.match默认是只匹配一行数据,如果需要对全文进行匹配的话,需要手动设置相应的flag位。
re.match(pattern, string, flags=re.DOTALL) #匹配全文
阅读全文
1 0
- re.match匹配多行数据失败
- 正则表达式匹配(re.match)
- re.match与re.search的区别
- Re库的match对象
- Python3的re.match()、re.search()和re.findall()
- Python3的re.match()、re.search()和re.findall()
- python3 正则模块 re.compile、re.match、re.search 方法
- Match的正则匹配
- 模板匹配(Match Template)
- 模板匹配(Match Template)
- 模板匹配(Match Template)
- 模板匹配(Match Template)
- 【TJOI2014】匹配(match)
- Python 字符串匹配(match)
- 模板匹配(Match Template)
- 正则匹配: match
- python re.match与re.search的区别
- python regular expressions re.match VS re.search
- 1.GNUradio 的环境搭建
- 树莓派Raspbian安装mysql
- .NET问题
- 【Spring实战】Spring容器初始化完成后执行初始化数据方法
- 习题5.8
- re.match匹配多行数据失败
- RecyclerView+MVP+OKhttp
- 正则化问题
- Git回滚到历史节点(SourceTree篇)
- 2017.11.9机房小测-Exgcd+特判/树形DP/模拟
- JAVA | 2
- windows安装mysql5.7
- 十八街区
- C# 解析JSON字符串