可通过JS脚本得到HTML的源文件。然后通过正则表达式或是Jsoup类库,分析标签

package com.cchen.webinfo;import java.util.Arrays;import java.util.HashMap;import android.app.Activity;import android.content.ContentValues;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.webkit.ConsoleMessage;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;public class WebViewInfoSearcherActivity extends Activity{    private WebView webView;private WebSettings settings;private String abird_url;/** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        abird_url = this.getString(R.string.abird_url);                initWeb();            }private void initWeb() {webView = (WebView) this.findViewById(R.id.webView);settings = webView.getSettings();settings.setLoadsImagesAutomatically(true);settings.setJavaScriptEnabled(true);webView.addJavascriptInterface(new JSinterface(), "JS");//JS,js`s namewebView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if(url.startsWith("mms")){Log.d("url", url);Uri uri = Uri.parse(url);Intent intent = new Intent(Intent.ACTION_VIEW,uri);intent.addCategory(Intent.CATEGORY_BROWSABLE);intent.addCategory(Intent.CATEGORY_DEFAULT);WebViewInfoSearcherActivity.this.startActivity(intent);}return true;}@Overridepublic void onPageFinished(WebView view, String url) {view.loadUrl("javascript:window.JS.getHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');"); super.onPageFinished(view, url);}});webView.setWebChromeClient(new WebChromeClient(){@Overridepublic boolean onConsoleMessage(ConsoleMessage consoleMessage) {System.out.println(consoleMessage.message());webView.reload();return super.onConsoleMessage(consoleMessage);}});webView.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) { WebView.HitTestResult hr = ((WebView)v).getHitTestResult(); Log.i("webinfo", "getExtra = "+ hr.getExtra() + "\t\t Type=" + hr.getType());                return false;}        });//webView.loadUrl("http://www.hdpfans.com/thread-435-1-1.html");webView.loadUrl(abird_url);}class JSinterface{private InfoSearcher instance;public void getHTML(String html){//System.out.println(html);instance = InfoSearcher.getInstance(html);HashMap<String, String> infoMap = instance.useRegularExpressions();InfoProvider provider = InfoProvider.getInstance(getApplicationContext());ContentValues values = new ContentValues();values.put(InfoProvider.COL_AUTHOR, infoMap.get("author"));provider.insert(InfoProvider.mUri, values);provider.insert(InfoProvider.mUri, values);Log.d("webinfo", Arrays.toString(provider.selectAll().toArray()));provider.delete(Uri.withAppendedPath(InfoProvider.mUri, "3"),  null, null);Log.d("webinfo", Arrays.toString(provider.selectAll().toArray()));}}}






FireBug和真实的HTML源代码不一样啊有木有!!!坑爹啊有木有!!!坑的我怎样都提取不到标
签和内容啊有木有!!!

更多相关文章

  1. 如何用CVS下载SourceForge.net上的源码
  2. 安卓巴士真诚送上营养丰富的精美Android大餐
  3. Android(安卓)2.0 源码发布,已经成功移植到 HTC Dream G1
  4. Android(安卓)ant自动打包脚本:自动替换友盟渠道、版本号、包名
  5. 基于 Android(安卓)NDK 的学习之旅-----Android.mk 介绍
  6. 《Google+Android开发入门与实践》书中googleApi学习之iTracks
  7. Android(安卓)源代码结构
  8. Android控制台命令am简介
  9. android LruCache 原理 以及 源代码解析

随机推荐

  1. [转载]Android开发者网址导航
  2. Welcome, Android Q(刷机有风险,操作需谨慎
  3. android完整资讯App、Kotlin新闻应用MVP
  4. android:gravity和andrid:layout_gravity
  5. webkit framework for android 4.0.3 代
  6. Android(安卓)RenderScript 的使用基础篇
  7. 台电xh80平板android刷机 G2N8
  8. Android高手速成--第二部分 工具库
  9. Android:高效的Android代码编写
  10. 使用Android design support library在Ec