百度翻译例句结构化解析
本文记录百度翻译里面的例句解析,百度翻译的爬取是解析的前面部分。这部分时间关系比较复杂本文不讲。可以参考其他百度翻译爬虫。
- 百度翻译的返回内容接口这是一个post接口,参数属于爬虫部分,这里不讲。返回结果如图:
- 本文主要为了解析里面的oxford(牛津词典)里面例句部分,解析这部分的原因是因为其他的部分例句都很简单,只有这部分比较繁杂。但是有特点,特点就是每个例句都在一个json结构里面。他们的key都是enText且json都有一个tag:x的键值对。
- 解决方法
递归调用判断是否含有tag:x 将含有标识的json返回。
@staticmethod
def find_data(data):
"""
提取牛津词典中的例句json
:param json_data:
:return:
"""
global oxford_sentence_dict
if isinstance(data, dict):
if data.get("tag") == "x":
oxford_sentence_dict.append(data)
else:
for _, item in data.items():
TranslateBaiduSpider.find_data(item)
elif isinstance(data, list):
for item in data:
TranslateBaiduSpider.find_data(item)
else:
pass
4.完毕