我写过那个使用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)
答案 0 :(得分:1)
稍微改了一下就是犯了一个小错误。虽然出于某种原因,上述内容适用于regex101。
for pre in soup.select('body'):
p = re.compile(u'"TranslatedText":"(.*?)"')
strr = pre.text
pree = re.findall(p, strr)
print (pree)