利用WebView加载我们本地的html代码

有时候我们在使用网络通信爬取网络数据的时候,想要完美的显示出来,却总是不尽如人意,我在爬取四六级成绩的时候,遇到了一个问题,抓取的数据需要一个合理的显示,最好是像网页上的结果一样,简洁明了,我在将抓取的代码直接截取数据部分,放入后,发生了错乱的效果(吐槽下99宿舍,四六级成绩居然还加密,js解密代码看了半天不知其意)。

原因

我们截取的数据区代码如下:

<table border="0" align="center" cellpadding="0" cellspacing="6" class="cetTable">
	<tr>
		<th>姓名:</th>
		<td>XXX</td>
	</tr>
	<tr>
		<th>学校:</th>
		<td>XXXXXX</td>
	</tr>
	<tr>
		<th>考试类别:</th>
		<td>英语六级</td>
	</tr>
	<tr>
		<th>准考证号:</th>
		<td>XXXXXXXXXXXXXXX</td>
	</tr>
	<tr>
		<th>考试时间:</th>
		<td>2016年06月</td>
	</tr>
	<tr>
		<th valign="top">总分:</th>
		<td valign="top" class="fontBold">
        <span class="colorRed">
		
			381
		
        </span>
		
        	<br /><span class="color666">听力:</span>
			
				130
			
            <br /><span class="color666">阅读:</span>
			
			141
			
			
            <br /><span class="color666">写作与翻译:</span>
			
			110
			
		</td>
	</tr>
</table>

而Html代码的结构并不是如此,所以我们利用Html.fromHtml() 的时候并不能正确的显示

所以我们可以将这个数据的html代码附加到一个完整的html框架中,并且给修饰的class添加层叠样式表,用一个WebView加载出来。补充后的代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
.cetTable{ margin:0 auto;}
.cetTable th{ font-weight:bold; text-align:right;}
.cetTable td{text-align:left;}
.color333, a.color333{color:#333333;}
.color666, a.color666{color:#666666;}
.color999, a.color999{color:#999999;}
.colorRed, a.colorRed,a.colorRed:link,a.colorRed:visited{ color:#D94840;}
</style>

</head>
<body>



<table border="0" align="center" cellpadding="0" cellspacing="6" class="cetTable">
	<tr>
		<th>姓名:</th>
		<td>XXXX</td>
	</tr>
	<tr>
		<th>学校:</th>
		<td>XXXXXXXX</td>
	</tr>
	<tr>
		<th>考试类别:</th>
		<td>XXXX</td>
	</tr>
	<tr>
		<th>准考证号:</th>
		<td>XXXXXXXXX</td>
	</tr>
	<tr>
		<th>考试时间:</th>
		<td>2016年06月</td>
	</tr>
	<tr>
		<th valign="top">总分:</th>
		<td valign="top" class="fontBold">
        <span class="colorRed">
		
			381
		
        </span>
		
        	<br /><span class="color666">听力:</span>
			
				130
			
            <br /><span class="color666">阅读:</span>
			
			141
			
			
            <br /><span class="color666">写作与翻译:</span>
			
			110
			
		</td>
	</tr>
</table>

</body>
</html>

java代码如下:

mResult.loadDataWithBaseURL(null, content,
                                                "text/html", "utf-8", null);

最后结果如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值