java - Jsoup.connect(url).get() 仅返回一半的代码

标签 java android html parsing jsoup

我有一些代码:

String url="http://www.fastvturesults.com/check_new_results/1rn12ec187";
Document doc=Jsoup.connect(url).get();
Log.i("DATA", doc.toString());

我的 logcat 输出:

I/DATA﹕ <!DOCTYPE html>
<html lang="en">
<head>
<meta name="robots" content="noindex">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta property="og:site_name" content="Fast VTU Results - VTU Students Online Community">
<meta property="og:type" content="article">
<meta property="og:title" content="NISHANTH O(1RN12EC187)">
<meta property="og:description" content="NISHANTH O (1RN12EC187)">
<meta name="author" content="Harish">
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<script type="text/javascript">
//<![CDATA[
try{if (!window.CloudFlare) {var CloudFlare=[{verbose:0,p:0,byc:0,owlid:"cf",bag2:1,mirage2:0,oracle:0,paths:{cloudflare:"/cdn-cgi/nexp/dok3v=1613a3a185/"},atok:"495d5c7bbce19cd697869e6932b33c4a",petok:"1da02c85fa35bc2e676b85c137d245a01ea1bafe-1427603478-1800",zone:"fastvturesults.com",rocket:"0",apps:{"abetterbrowser":{"ie":"6"}}}];!function(a,b){a=document.createElement("script"),b=document.getElementsByTagName("script")[0],a.async=!0,a.src="//ajax.cloudflare.com/cdn-cgi/nexp/dok3v=919620257c/cloudflare.min.js",b.parentNode.insertBefore(a,b)}()}}catch(e){};
//]]>
</script>
<link rel="shortcut icon" href="http://www.fastvturesults.com/ico/favicon.ico">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="assets/js/html5shiv.js"></script>
<script src="assets/js/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.3/css/bootstrap.min.css">
<style>
a{
color: #B94A48;
text-decoration: none;
}
.box-red-round{
background-color: #ffffff;
}
#fbPopup{
margin-top: 10%;
}
.navbar-custom {
background-color: #B94A48;
color: #ffffff;
border-radius: 0;
}
.navbar-custom .navbar-nav>li>a {
color: #fff;
}
.navbar-custom .navbar-nav>.active>a
{
color: #ffffff;
background-color: #000000;
}
.navbar-custom .navbar-nav>.active>a:hover,.navbar-custom .navbar-nav>.active>a:focus,.navbar-nav>li:hover,.navbar-nav>li:focus
{
color: #ffffff;
background-color: #000000;
}
.navbar-custom .navbar-brand {
color: #ffffff;
}
.blog-post-image{
float: left !important;
margin: 20px 20px;
}
.mini-nav-div{
background-color: #B94A48;
color: #ffffff;
}
.mini-nav-div a{
color: #ffffff;
}
</style>
<script type="text/javascript">
var jq = document.createElement('script');
jq.type = 'text/javascript';
jq.async = true;
jq.src = '//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(jq, s);
</script>
<title>NISHANTH O(1RN12EC187)</title>
<meta name="description" content="NISHANTH O (1RN12EC187)">
<meta name="keywords" content="NISHANTH O results, NISHANTH O class rank, NISHANTH O university rank,1RN12EC187 results, 1RN12EC187 class rank, 1RN12EC187 university rank">
<script type="text/javascript">
var gb = document.createElement('script');
gb.type = 'text/javascript';
gb.async = true;
gb.src = ('https:' == document.location.protocol

查看页面的源代码,“document.location.protocol”(logcat 输出的最后一行)甚至还没有完成源代码的一半。

为什么 get() 方法只返回网页源代码的前几行?

最佳答案

这不是 Jsoup 的问题。我不知道 logcat,但在 HTML 代码的这个位置出现了第一个问号:

document.location.protocol ? 'https://ssl'

所以我猜您的日志记录工作流程中存在一些转义问题。

顺便说一句,为了避免 403 HTTP 错误,我必须设置一个假用户代理才能使用 Jsoup 获取此 URL:

Document doc = Jsoup.connect(url).userAgent("Mozilla/5.0").get();

关于java - Jsoup.connect(url).get() 仅返回一半的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29325648/

相关文章:

android - Google Analytics 饼图小部件过滤器不起作用

html - 编辑器给出HTML文件的 “Unexpected End Tag”语法错误

python - 如何使用 LoginRequiredMixin 在基于类的 View 中发送 Django 错误消息?

java - LZW压缩算法实现

java - 大量十进制数字转 ASCII

java - 更改 c3p0.properties 和 hibernate.properties 的位置

android - 阻止/禁用最近使用的应用程序按钮

java - 停止并重新启动已运行的线程

html - 将元素固定到背景大小为 : cover 的 div

Java Eclipse 文件夹与 git