如何用Python脚本结合Regex解析HTTPS响应体指定内容
Python实现从Google响应体提取指定字符串
需求:从google.com的HTTPS响应体中提取“Google offered in:”字符串,无需返回完整响应体。
实现代码
基于你提供的请求代码,结合Python的re正则模块可以完成需求,修改后的代码如下:
import requests import re url = 'https://google.com' headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'} result = requests.get(url, headers=headers) # 编译正则模式,匹配目标字符串 pattern = re.compile(r'Google offered in:') # 在响应文本中查找匹配项 match_result = pattern.search(result.text) if match_result: # 输出匹配到的目标字符串 print(match_result.group())
关键说明
- 使用
result.text而非result.content:result.content是字节流格式,result.text是requests自动解码后的字符串,更适合正则匹配操作。 - 正则匹配逻辑:直接编译目标字符串作为匹配模式,确保精确提取;如果需要兼容中间可能存在的任意字符(对应你Bash脚本中的
.通配符),可以将模式改为r'Google.*offered.*in:'(.*表示匹配任意长度的任意字符)。 - 结果处理:
search()方法会返回第一个匹配的对象,通过group()方法即可获取匹配到的字符串;如果未找到匹配,match_result会是None,加判断可避免报错。
内容的提问来源于stack exchange,提问作者Abdalaziz Alharthi
相关产品推荐
相关产品推荐

