【问题标题】:Strip specific part of query result in python在python中去除查询结果的特定部分
【发布时间】:2015-10-10 12:12:38
【问题描述】:

我写了那个脚本,使用yandex api将一些外来字符转换成英文,代码如下:

for pre in soup.select('body'):
    pree= pre.text
    print (pree)

HTML 是:

<body>
    onComplete_10([{"Alignment":"0:1-0:4 2:2-6:9 3:3-6:9","From":"zh-CHS","OriginalTextSentenceLengths":[4],"TranslatedText":"Drama Arts","TranslatedTextSentenceLengths":[10]}]);
</body>

返回的结果是(当然):

onComplete_10([{"Alignment":"0:1-0:4 2:2-6:9 3:3-6:9","From":"zh-CHS","OriginalTextSentenceLengths":[4],"TranslatedText":"Drama Arts","TranslatedTextSentenceLengths":[10]}]);

我只需要获得“戏剧艺术”的翻译文本。

注意: 我已经更新了我的 for 循环。现在使用正则表达式过滤我所需的数据,但仍然没有运气。

for pre in soup.select('body'):
    p = re.compile(ur'"TranslatedText":"(.*?)"')
    strr = pre.text
    pree = re.findall(p, strr)
    print (pree)

【问题讨论】:

    标签: html regex python-3.x


    【解决方案1】:

    只是稍微改了一下是做错了。虽然出于某种原因,上述适用于 regex101。

    for pre in soup.select('body'):
        p = re.compile(u'"TranslatedText":"(.*?)"')
        strr = pre.text
        pree = re.findall(p, strr)
        print (pree)
    

    【讨论】:

    • 你也应该接受这个作为答案!为自己额外的代表! :P
    猜你喜欢
    • 2021-09-15
    • 2018-07-20
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2021-07-01
    • 2019-11-07
    • 2019-11-20
    • 1970-01-01
    相关资源
    最近更新 更多