Python Strip('(') 去除的时候为何会多去除了 ( 后面跟的 { 符号

前置条件

图片说明

期望结果

移除返回值前面的字符try{feedCardJsonpCallback2(

开头为: {"result":{"status":{"code":0,"msg":"succ"},"tim

失败代码

如果去除的时候末尾有后括号:lstrip('try{feedCardJsonpCallback2(')

结果:在移除(的时候把内容中(后面的 { 一起移除了;
图片说明

尝试排除

如果去除的时候末尾没有后括号:lstrip('try{feedCardJsonpCallback2')

结果:( 和 { 都在;
图片说明

直接后果就是导致后面报错:
图片说明

问题

如何才能正确的移除返回值前面的字符try{feedCardJsonpCallback2(,后面的 { 还是在?

代码如下:

 url1 = 'https://feed.sina.com.cn/api/roll/get?pageid=121&lid=1356&num=20&versionNumber=1.2.4&page=2&encode=utf-8&callback=feedCardJsonpCallback&_=1537882479340'

import requests
res = requests.get(url1)
print(res.text)

print(res.text.lstrip('try{feedCardJsonpCallback2(').rstrip(');}catch(e){};'))

print(res.text.lstrip('try{feedCardJsonpCallback2').rstrip(');}catch(e){};'))

xie'xie

strip的方法是会吧‘try{feedCardJsonpCallback2(’里面会出现的字符都去掉,知道遇到没有的字符,第一次的print里,因为已经包含了{,所以 {"result"前的{也会去掉,你这种固定格式的使用replace就好了;

txt=res.text
print(txt)
txt=txt.replace('try{feedCardJsonpCallback(','').replace('catch(e){};','')
print(txt)