百度翻譯例句結構化解析
本文記錄百度翻譯裏面的例句解析,百度翻譯的爬取是解析的前面部分。這部分時間關係比較複雜本文不講。可以參考其他百度翻譯爬蟲。
- 百度翻譯的返回內容接口這是一個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.完畢