Android有道詞典開發
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText edit = null;
private Button search = null;
private TextView text = null;
private String YouDaoBaseUrl = "http://fanyi.youdao.com/openapi.do";
private String YouDaoKeyFrom = "你的daoKeyFrom";
private String YouDaoKey = "你的api key";
private String YouDaoType = "data";
private String YouDaoDoctype = "json";
private String YouDaoVersion = "1.1";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init() {
edit = (EditText) findViewById(R.id.edit);
search = (Button) findViewById(R.id.search);
search.setOnClickListener(new searchListener());
text = (TextView) findViewById(R.id.text);
}
private class searchListener implements OnClickListener {
@Override
public void onClick(View v) {
String YouDaoSearchContent = edit.getText().toString().trim();
String YouDaoUrl = YouDaoBaseUrl + "?keyfrom=" + YouDaoKeyFrom
+ "&key=" + YouDaoKey + "&type=" + YouDaoType + "&doctype="
+ YouDaoDoctype + "&type=" + YouDaoType + "&version="
+ YouDaoVersion + "&q=" + YouDaoSearchContent;
try {
AnalyzingOfJson(YouDaoUrl);
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void AnalyzingOfJson(String url) throws Exception {
// 第一步,建立HttpGet物件
HttpGet httpGet = new HttpGet(url);
// 第二步,使用execute方法傳送HTTP GET請求,並返回HttpResponse物件
HttpResponse httpResponse = new DefaultHttpClient().execute(httpGet);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
// 第三步,使用getEntity方法活得返回結果
String result = EntityUtils.toString(httpResponse.getEntity());
System.out.println("result:" + result);
JSONArray jsonArray = new JSONArray("[" + result + "]");
String message = null;
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
if (jsonObject != null) {
String errorCode = jsonObject.getString("errorCode");
if (errorCode.equals("20")) {
Toast.makeText(getApplicationContext(), "要翻譯的文字過長",
Toast.LENGTH_SHORT);
} else if (errorCode.equals("30 ")) {
Toast.makeText(getApplicationContext(), "無法進行有效的翻譯",
Toast.LENGTH_SHORT);
} else if (errorCode.equals("40")) {
Toast.makeText(getApplicationContext(), "不支援的語言型別",
Toast.LENGTH_SHORT);
} else if (errorCode.equals("50")) {
Toast.makeText(getApplicationContext(), "無效的key",
Toast.LENGTH_SHORT);
} else {
// 要翻譯的內容
String query = jsonObject.getString("query");
message = query;
// 翻譯內容
String translation = jsonObject
.getString("translation");
message += "\t" + translation;
// 有道詞典-基本詞典
if (jsonObject.has("basic")) {
JSONObject basic = jsonObject
.getJSONObject("basic");
if (basic.has("phonetic")) {
String phonetic = basic.getString("phonetic");
message += "\n\t" + phonetic;
}
if (basic.has("explains")) {
String explains = basic.getString("explains");
message += "\n\t" + explains;
}
}
// 有道詞典-網路釋義
if (jsonObject.has("web")) {
String web = jsonObject.getString("web");
JSONArray webString = new JSONArray("[" + web + "]");
message += "\n網路釋義:";
JSONArray webArray = webString.getJSONArray(0);
int count = 0;
while (!webArray.isNull(count)) {
if (webArray.getJSONObject(count).has("key")) {
String key = webArray.getJSONObject(count)
.getString("key");
message += "\n\t<" + (count + 1) + ">"
+ key;
}
if (webArray.getJSONObject(count).has("value")) {
String value = webArray
.getJSONObject(count).getString(
"value");
message += "\n\t " + value;
}
count++;
}
}
}
}
}
text.setText(message);
} else {
Toast.makeText(getApplicationContext(), "提取異常", Toast.LENGTH_SHORT);
}
}
}
執行效果如下:
相關推薦
Android有道詞典開發
import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.apache
android簡單的有道詞典開發
簡單的android有道詞典開發 第一次寫教程,不好勿怪哈!其實想寫這篇教程已經很久了,但卻一直沒有付諸行動,這個專案是偶然間在論壇裡發現的,我算是弄出來整理了一下吧!所以在此要感謝那些前輩們,沒有他們,也就沒有我們,不過這也要歸功於android的開源,好了廢話不多說,進
python3網絡爬蟲實現有道詞典翻譯功能
頁面 log 網絡爬蟲 span 找到 鼠標 pan 鼠標右鍵 ima 首先,在谷歌瀏覽器搜索有道詞典,進入有道詞典,點擊頁面頂端的翻譯。 進入翻譯界面,在翻譯界面輸入你好: 接著,鼠標右鍵選擇檢查: 進入頁面,找到下面這個表 python3網絡爬蟲實現有道詞典翻譯
Ubuntu 16.04安裝有道詞典
問題 nds 影響 -i div 直接下載 gstreamer cnblogs 目錄 以前用Ubuntu 14.04 的時候,直接下載有道詞典官方deb安裝包,就安裝好了,現在換成Ubuntu 16.04因為有些依賴問題就無法安裝成功。於是Google之,成功解決,也順便熟
python實現查有道詞典
int 會有 都是 不同 正則 down 利用 list 指向 因為要考英語四級,所以我今天一大早就起來被英語單詞,但是作為英語渣渣的我,只能是在網頁上挨個查單詞的意思。查的多了,心生厭倦,便想著如何才能在終端下查單詞,那樣速度不就很快了?
ubuntu16.04安裝有道詞典
文件 uda 安裝 有道詞典 ont 之前 .html tro 依賴問題 1.下載有道詞典 從http://cidian.youdao.com/index-linux.html 下載ubuntu64位: youdao-dict_1.1.0-0-ubuntu_amd64.de
C#導入有道詞典單詞本到扇貝
auto tty 工作 span text 賬戶 sha key 一個 由於扇貝查詞沒有有道方便,所以很多時候添加生詞都是在使用有道詞典,然後順手就保存到了有道單詞本,不過在扇貝記單詞可以打卡,記單詞更方便,進入扇貝頁面後發現扇貝單詞批量導入居然一次只支持10個,查了扇貝A
Python之爬蟲-- js加密(破解有道詞典加密的演算法)
js加密 有的反爬蟲策略採用js對需要傳輸的資料進行加密處理(通常是取md5值) 經過加密,傳輸的就是密文,但是 加密函式或者過程一定是在瀏覽器完成,也就是一定會把程式碼(js程式碼)暴露給使用者 通過閱讀加密演算法,就可以模擬出加密過程,從而達到破解 過程參看案例
爬蟲——爬取有道詞典
1開啟有道詞典-有道翻譯-右鍵審查元素-Network-Headers-找到General下面的URL,寫入程式碼 import urllib.request import urllib.parse url='http://fanyi.youdao.com/translate?smar
要考三級了!我用Python把有道詞典單詞轉化成EXCEL!答題小助手
import xml.etree.ElementTree as ET import pandas as pd import numpy as np tree = ET.parse('words.xml') root = tree.getroot() words = pd.Da
網易有道詞典下載|網易有道詞典app下載
詞庫 htm 入門 量化 授權 原版 字母 soft .html 電子詞典改變了傳統的利用字母排序翻找紙質詞典的查詞方式,有效提高了查找的速度,形成了一種更加輕量化的查字典的方式,網易有道是比較早期就涉足電子詞典的應用之一,整體上來看詞庫量龐大,核心功能完整,很好地幫助用戶
有道詞典不能聯網
今天在學習的時候突然發現我的有道詞典不能聯網查詞了, 於是我就開始百度,可是百度了一上午,把網上說的方法都用了個遍也還是連不上網 比如,用管理員的身份登入,使用代理伺服器,修復ie瀏覽器,解除安裝從新在裝都沒有用,真想知道網上有沒有什麼付費的可以解決這個問題的,後來冷靜下來, 想想時不是因為
Python爬蟲-破解有道詞典(破解MD5的JS加密演算法)
破解有道詞典 1.進行普通爬取嘗試: 1 ''' 2 破解有道詞典 3 V1 4 ''' 5 6 from urllib import request, parse 7 8 9 def youdao(key): 10 11 url = "http://fanyi.y
linux ubuntu 安裝有道詞典
環境:ubuntu16.04 1.去有道官網下了一個deb的包 http://cidian.youdao.com/index-linux.html 我下載的是64位的那一個. 2.然後在相應目錄的終端下執行sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_am
ubuntu16.04下安裝有道詞典
我選擇的是64位ubuntu版本:youdao-dict_1.1.0-0-ubuntu_amd64.deb 進去你的deb包放置的目錄,然後執行 sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_amd64.deb 你會發現這個安裝不了。
Python爬取有道詞典
準備 實驗原理 程式碼優化 GUI介面 整合程式碼 準備 我測試使用的Python版本為3.5。 實驗原理 使用urllib.request傳送請求 解析伺服器返回的資料並提取關鍵字
ubuntu 16.04 成功安裝有道詞典
1.下載安裝包,網址是http://cidian.youdao.com/index-linux.html ,博主下載的是64位的deepin,使用ubuntu版本一直裝不成功; 2.進入安裝包的資料夾,進行安裝 sudo dpkg -i youdao-dict_1.1.0
有道詞典Linux版下載安裝
http://cidian.youdao.com/index-linux.html Ubuntu http://codown.youdao.com/cidian/linux/youdao-dict_1.1.0-0-ubuntu_amd64.deb 二進位制安裝包: http://codown.youd
開啟有道詞典後提示:一個或多個ActiveX控制元件無法顯示
開啟有道詞典後提示:一個或多個ActiveX控制元件無法顯示, 突然出現這個情況,下載了新的3.4版本以後同樣出現。 win7(64)系統+IE9 現在更新到最新版,還是有這個問題。 &
Ubuntu菜鳥入門(六)—— 有道詞典安裝
一、在有道辭掉官網上下載安裝包: youdao-dict_1.1.0-0-ubuntu_amd64.deb 二、安裝 1、開啟下載目錄,進行安裝 sudo dpkg -i youdao-dict_1.1.0-0-ubuntu_amd64.deb 一般在16.04且1.1.0版本的有道,會