有时候如果不是想要用webview来看整个网页的内容,而是只想用它或别的类来看网页上一部分文字或图片,可是怎么从网页上分析出某一部分的url是什么?我看了一个范例是这样:
private static final String queryString="http://dict.cn/mini.php?q=";
public void searchResult() {
String query = queryString + URLEncoder.encode(wordText.getText().toString().trim()) ;
try {
mWebView.loadUrl(query);
Log.e(TAG, "searchResult:"+query);
} catch (Exception e) {
e.printStackTrace();
Log.e(TAG, "searchResult error");
}
}
这个是引用http://dict.cn/网页的词典查询的内容,在"http://dict.cn/mini.php?q=的q=后面加上要查询的词就会出来解释,可是coder是怎么知道mini.php?q=这一部分的呢?

解决方案 »

  1.   

    查看网页html源代码就知道了
    在说 你访问一下网站 抓个包什么的 就能知道了
    都是http请求
      

  2.   

    我用你的网址查了一下,q=二逼青年,然后回车,网页会自动将我要翻译的"二逼青年"进行一次编码,变成"%B6%FE%B1%C6%C7%E0%C4%EA"。
    在这种情况下你要得到"二逼青年"这个内容的话,那么你点击右键,查看源代码,就会看到里面包含了这个词语,这时你可以在android程序中抓取网页源代码,然后解析它,得到你想要得到的内容。
      

  3.   

    我还是把代码给你贴出来吧//调用的地方
    HttpGet httpGet=new HttpGet();
    String result=httpGet.httpGet("二逼青年", "gb2312");
    //获取数据的类
    public class HttpGet {
    //str为要翻译的词语,encoding为编码方式
    public String httpGet(String str, String encoding) throws Exception {
    String result = "";
    String strUrl = "http://dict.cn/mini.php?q=" + str;
    URL url = new URL(strUrl);
    HttpURLConnection httpURLConnection = (HttpURLConnection) url
    .openConnection();
    httpURLConnection.setRequestMethod("GET");
    httpURLConnection.setConnectTimeout(1000 * 6);
    if (httpURLConnection.getResponseCode() == 200) {
    InputStream inputStream = httpURLConnection.getInputStream();
    byte[] data = getByte(inputStream);
    result = new String(data,encoding);
    }
    return result;
    } private byte[] getByte(InputStream inputStream) throws Exception {
    byte[] temp = new byte[1024];
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    int len = -1;
    while ((len = inputStream.read(temp)) != -1) {
    byteArrayOutputStream.write(temp, 0, len);
    }
    inputStream.close();
    byteArrayOutputStream.close();
    return byteArrayOutputStream.toByteArray();
    }
    }
      

  4.   

    然后你在result里面去解析你需要的数据出来
      

  5.   

    我的意思是我不知道怎么得到的http://dict.cn/mini.php?q=,我只知道有个网站是http://dict.cn,但是怎么从这个网站的网页看出来/mini.php?q=这部分的
      

  6.   

    我不知道你要得到:http://dict.cn/mini.php?q=这个干什么?
    你能把你想做的功能描述一下吗?
      

  7.   

    你不明白无所谓,不过你想知道我也可以编一个告诉你,我要做一个词典,利用这个网站的链接做词典库。但是我不知道http://dict.cn/mini.php?q=这个url可以实现,我想知道我怎么才能知道http://dict.cn/mini.php?q=用这个url可以实现我的功能。我要实现什么功能无所谓,也与你无关,我想知道的是怎么做到这件事,你知道可以告诉我,不知道就算。
      

  8.   

    你不就是想用http://dict.cn/mini.php?q=这个链接做个词典吗?
    代码在上面已经给你写出来了
    我跟你说下做法吧:
    1.在android界面上用一个文本框接收用户输入
    2.将用户输入的字符串调用下面的方法HttpGet httpGet=new HttpGet();
    String result=httpGet.httpGet(userInput, "gb2312");//这里userInput代表用户输入的要翻译的词语3.这样得到result就是翻译了userInput后的源代码,然后你解析result字符串,将你想要的东西解析出来,这样应该说得很清楚了吧?
      

  9.   

    你怎么还不懂我的意思呢?!我是说我要知道怎么知道的http://dict.cn/mini.php?q=这个链接啊!!
    我如果换一个网站叫stormier.dict.cn,我那里的链接就不是/mini.php?q=了啊!!!!
    没准是/jdakldja.php?a=  没准是/dshhsdsaa.php?b=你怎么知道是什么!!!!!