php 抓取网页 源码(:创建一个工具类:用于输出抓取的html源代码)

优采云 发布时间: 2021-11-21 22:06

  php 抓取网页 源码(:创建一个工具类:用于输出抓取的html源代码)

  第一步:

  创建工具类:用于输出爬取的html源码

  package Util;

import android.util.Log;

import android.webkit.JavascriptInterface;

/**获取PIN值

* Created by Administrator on 2016/8/12.

*/

public class JavascriptUtil {

@JavascriptInterface

public void getPin(String html){

System.out.println("html---->"+html);

Log.d("webActivity.this",html);

}

}

  你必须写@JavascriptInterface,原因:

  第 2 部分:设置 webview 的属性

  webView=(WebView)findViewById(R.id.web_view_auto);

webView.getSettings().setJavaScriptEnabled(true);//支持javascript语言

webView.addJavascriptInterface(new JavascriptUtil(),"Methods");//设置javascript语言,用具获取网页中的pin,"Methods"为javascriptinterface的名称

  第 3 部分:页面加载后,获取

   //WebViewClient 主要处理关于页面跳转,页面请求等操作

webView.setWebViewClient(new WebViewClient(){

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// load(url,webView);

return super.shouldOverrideUrlLoading(view, url);

}

//页面加载结束时,获取页面的html值pin

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

Log.d("webActivity.this","+++++++++++++++++++++++++++++");

Log.d("webActivity.this",url);

view.loadUrl("javascript:window.Methods.getPin(''+document.getElementsByTagName('html')[0].innerHTML+'');");

//上面这一步就是抓取Html源码

}

});

  第 4 部分:

  在android studio中,有时无法使用log、d()和System,这个重启就可以解决问题了

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线