问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java获取网页源码的问题

发布网友 发布时间:2022-05-01 23:09

我来回答

3个回答

热心网友 时间:2022-06-24 19:41

先知道一个网页的编码方式,是utf-8,还是gbk。

1.HttpURLConnection.getContentType();直接读取,效率高,但有很多时候读不到。只是text/html就完事了,没有charset.

2.使用第三方的HttpClient,执行效率较高。但读取网页头header也只适用部分站,很多网站服务段不设置,结果就读成了null.

3.最没有效率的判断方法就是使用inputStreamReader先把正页的html源码读取出来,之后截取charset后面编码。得到编码之后重新再读取一遍。但是效率很低。

做个总结:

/**
* 取得页面编码
*
* @param url
* @return
*/
public String getCharset(String url) throws Exception {
// log.info("进入读页面的关键词:" + keyword);
String charset = "";
int c;
HttpURLConnection httpurlcon = null;
// log.info("url:"+url);
// log.info("charset:"+charset);

log.info("url:" + url);

URL httpurl = new URL(url);
// System.out.println(url+str);

httpurlcon = (HttpURLConnection) httpurl.openConnection();
// google需要身份
httpurlcon.setRequestProperty("User-agent", "Mozilla/4.0");
charset = httpurlcon.getContentType();
log.info("charset1:" + charset);
// 如果可以找到
if (charset.indexOf("charset=") != -1)
charset = charset.substring(charset.indexOf("charset=")
+ "charset=".length(), charset.length());
// 否则读取response.Header头
else {
charset = this.getContentCharset();
log.info("charset2:" + charset);
}
// 如果charset还是为空,那么直接读网页来截取
if (charset == null) {
charset = this.readPageCharset(url);
log.info("charset31:" + charset);

}

return charset;
}追问我其实想知道如何获取网页的源文件,注意是源文件而不是源码

热心网友 时间:2022-06-24 19:42

程序里可以设置编码方式

热心网友 时间:2022-06-24 19:43

654+46876456
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
按现行会计制度的规定,短期借款所发生的利息,一般应记入( )科目。 省钱输送机 江西同步带欧规皮带滚轮模组规格 请问91年3月12日是什么星座拜托各位大神 1991年3月11的双鱼座怎样拜托了各位 谢谢 ...年11月3号。这两个时间出生的人各是什么塔罗牌?拜托各位大神... 孤岛惊魂4怎么不显示dlc 微信百万保障诈骗是怎么回事 秋季大棚里应候种植什么蔬菜最适合 上海音乐学院钢琴十级通过率 老师您的联系方式是多少 怎么才能有您的联系方式? QQ在申诉邀请好友的留下您的联系方式是什么意思? 榨菜味道很特别,制作过程是什么样的呢? 提供一下你的联系方式 榨菜的制作过程 您什么联系方式? 请问你们的联系方式电话多少? 请问您的联系方式 如何制作榨菜 您的联系方式? 榨菜用什么做的 你的联系方式是什么 中国移动官方是什么? 我要有关火影小说合集不少于50篇,要穿越,重生或附身的,要完结,愈多愈好。最好非bl的 还有综漫和火影 care map是什么意思 求60万字以上的火影小说带上简介 关于慢性宫颈炎的护理临床路径 win7打印机共享怎么设置 xp 带火影技能的穿越到异界的小说 Mybatis如何调用Mysql的窗口函数? 您联系方式多少 您的联系方式有吗? 你联系方式呢 您的联系方式 您联系方式多少? 能告诉我您的联系方式吗用泰语怎么说 您联系方式是?有QQ吗 windows live 怎样转换成视频文件 如何把玩的NBA LIVE中的精彩镜头录下来并做成视频? 我用windows live 做了一个视频,想把它转换成其他格式,用过格式工厂都不能转换。求高手指点。 怎么把用windows live影音制作的视频转换成MP4格式? 如何用Windows live 影音制作将两个视频合为一个视频? 面试时被问“对以后的一个职业规划”该怎么说? 以后的规划? 每次一进手机百度,页面就会自动更新,有谁能教我怎么取消页面自动更新吗?谢谢。 struts2如何实现页面自动更新? 电脑的界面为什么会自动更新,使桌面上很多图标都没有了? 什么叫吸筹与派发? 如何实现织梦cms单页面自动更新