如何从android中的url获取HTML源代码?

时间:2011-06-28 08:20:46

标签: android

我正在研究项目,使用dom解析器获取页面源代码,在vb.net中的字符串中获取html源代码。

1)我想在android中实现相同的功能,通过在android中调用url来获取网页源代码的方法是什么。 2)我将在一个布局中有两个源代码布局,而在网页本身有两个布局。如果我要更改源代码布局中的标题标记值,它必须在实际网页上自动更新?

在android中做到这一点的最佳方法是什么?

任何形式的帮助都将受到高度赞赏。

4 个答案:

答案 0 :(得分:7)

您可以使用离子库从任何URL获取Html代码。

转到项目结构,点击应用程序,点击依赖关系,点击' +',只需键入ion您将看到com.koushikdutta.ion:ion:2.1.8点击它并点击好。现在您可以使用离子库从URL获取HTML代码。

public class HtmlCode extends Activity {
    TextView tv;

    public void onCreate(Bundle s)
    {
        super.onCreate(s);
        setContentView(R.layout.httpexample);

        tv = (TextView)findViewById(R.id.tvHttp);
        Ion.with(getApplicationContext()).load("http://www.your_URL.com").asString().setCallback(new FutureCallback<String>() {
            @Override
            public void onCompleted(Exception e, String result) {

                tv.setText(result);
            }
        });
    }
}

答案 1 :(得分:1)

我建议您使用Volley,这是用于发出网络请求的官方Android库。

https://developer.android.com/training/volley/

答案 2 :(得分:0)

您可以在Java中使用 Web抓取技术。有很多库可用,我发现它简单而强大,是一个名为 jaunt 的库。您可以阅读文档here

答案 3 :(得分:0)

尝试一下:

    URL google = null;
    try {
        google = new URL("https://www.google.com");
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
    BufferedReader in = null;
    try {
        in = new BufferedReader(new InputStreamReader(google.openStream()));
    } catch (IOException e) {
        e.printStackTrace();
    }
    String input = null;
    StringBuffer stringBuffer = new StringBuffer();
    while (true)
    {
        try {
            if (!((input = in.readLine()) != null)) break;
        } catch (IOException e) {
            e.printStackTrace();
        }
        stringBuffer.append(input);
    }
    try {
        in.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
    String htmlData = stringBuffer.toString();