gpt4 book ai didi

python - 分割字符串时遇到问题

转载 作者:行者123 更新时间:2023-11-30 23:11:34 25 4
gpt4 key购买 nike

我正在从谷歌翻译中抓取一些数据,如下所示:

import urllib
import mechanize

get_url=("https://translate.google.ie/translate_a/single?client=t&sl=auto&tl=es&hl=en&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&dt=at&ie=UTF-8&oe=UTF-8&source=btn&ssel=0&tsel=3&kc=0&tk=520887|911740&q=Hellow%20World")

browser=mechanize.Browser()
browser.set_handle_robots(False)
browser.addheaders=[('User-agent','Chrome')]

translate_text=urllib.urlopen(get_url).read()
print translate_text

这给了我以下输出:

[["Hellow Mundial", "Hellow World"]]
undefined
"en"
undefined
undefined
[["Hellow", 1,…], ["World", 2,…]]
0.022165652
undefined
[["en"], undefined, [0.022165652]]

可以在这里看到:

enter image description here

所以我尝试分割]]上的数据,这样我的输出只会是:

[["Hellow Mundial", "Hellow World"]]

我像这样分割数据:

translate_text=translate_text.split("]]")
print translate_text[0]

但是,当我运行它时,我得到了页面标记。在分割之前,我得到了查询结果。为什么分割会导致这种情况,而不是按预期分割字符串?

最佳答案

Google 正在为您返回类似于 JSON 格式(但实际上不是 JSON)的内容,在使用简单的正则表达式将任何连续的逗号替换为单个逗号后,可以非常轻松地解析该格式:

尝试:

import json
import re

# replace any consecutive commas with a single one
translate_text = re.sub( ',+', ',', translate_text ).strip()
arr = json.loads(translate_text)
print arr[0][0][0] # prints "Hellow Mundial"
print arr[0][0][1] # prints "Hellow World"

请注意,translate_text 是一个字符串,arr 是一个 Python 数组。 json.loads 能够为您解析为 native Python 格式,以便您可以使用简单的列表和字典查找。

关于python - 分割字符串时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30146209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com