爬取iframe标签时去除反斜杠遇语法错误,求解决方案
解决iframe字符串反斜杠去除与语法错误问题
语法错误原因
你写的str(video).replace('\', '')报错,是因为反斜杠\在Python中是转义字符,单独的\'会把后续单引号转义,导致字符串未正确闭合,触发EOL while scanning string literal错误。
正确的字符串替换写法
要匹配并去除反斜杠,需对其进行转义,或使用原始字符串:
- 方法一:用双反斜杠表示真实的反斜杠
clean_iframe = str(video).replace('\\', '')
- 方法二:使用原始字符串(前缀
r)
clean_iframe = str(video).replace(r'\', '')
更优雅的处理方式(推荐)
其实无需将整个Tag转成字符串再处理:
- 若仅需iframe的属性(比如视频链接
src),直接通过Tag对象的属性访问即可,内容本身无转义:
video_src = video['src'] # 输出:https://www.youtube.com/embed/JwG10b9HtZQ
- 若确实需要完整的iframe HTML字符串:你打印看到的
\"只是Python控制台为显示带引号字符串添加的转义标记,实际字符串中并无这些反斜杠,直接使用str(video)即可得到原生HTML代码,无需额外替换。
内容的提问来源于stack exchange,提问作者Digiprisme Digi
相关产品推荐
相关产品推荐

