在python中剥离查询结果的特定部分



我已经写了这个脚本,使用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)

只是改变了一下,我犯了一个小错误。

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

最新更新