0 0

Java_爬虫,如何抓取Js动态生成数据的页面?5

 

 

 

很多网站是用js或Jquery 生成数据的,到后台获取到数据以后,用 document.write()或者("#id").html="" 的方式 写到页面中,这个时候用浏览器查看源码是看不到数据的。

HttpClient是不行的,看网上说HtmlUnit,说  可以获取后台js加载完后的完整页面,但是我按照文章上说的 写了 ,都不好使。

String url = "http://xinjinqiao.tprtc.com/admin/main/flrpro.do";
try {
	WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10);
	//设置webClient的相关参数
	webClient.getOptions().setJavaScriptEnabled(true);
	webClient.getOptions().setCssEnabled(false);
	webClient.setAjaxController(new NicelyResynchronizingAjaxController());
	//webClient.getOptions().setTimeout(50000);
	webClient.getOptions().setThrowExceptionOnScriptError(false);
	//模拟浏览器打开一个目标网址
	HtmlPage rootPage = webClient.getPage(url);
	System.out.println("为了获取js执行的数据 线程开始沉睡等待");
	Thread.sleep(3000);//主要是这个线程的等待 因为js加载也是需要时间的
	System.out.println("线程结束沉睡");
	String html = rootPage.asText();
	System.out.println(html);
} catch (Exception e) {
}

 

其实这段代码不好使。


求解答,其中典型的就是这个链接的页面,怎么能在java程序中获取其中的数据?

http://xinjinqiao.tprtc.com/admin/main/flrpro.do

 

 

2014年7月25日 17:44

5个答案 按时间排序 按投票排序

0 0

采纳的答案

我之前也遇到过这个问题,网上说法很多,不过觉得都没有解决问题,后来相过有什么功能可以获取请求某一个url地址时所附带请求的其他链接地址,但是这个好像说是用抓包可以实现,不过我没实现

只能采用最原始的方法就是就是自己去模拟一个请求,将js中ajax的链接地址拼接出来,再次进行请求,这个时候需要注意post方式还是get方法

2014年7月28日 08:21
0 0

可以用谷歌浏览器F12查看。
会发现有json串的数据。
根据你这个url会发现 http://xinjinqiao.tprtc.com/admin/main/pro!lrprolist.do?name=flr&nowpage=1&pagesize=10
有页数还有每页显示的条数这些参数什么的  然后直接就获取到了呀

2017年9月05日 16:52
0 0

兄弟, 你这个弄出来了吗? 我有个类似也抓取不了  help me

http://credit.ndrc.gov.cn/XYXX/admin_client/form_designer/special/index.html?id=集友银行有限公司福州分行


2016年6月08日 16:24
0 0

看一下页面的js执行的什么异步请求,直接抓取异步请求的url,

2014年7月25日 18:41
0 0

相关推荐

    Java爬虫Jsoup+httpclient获取动态生成的数据

    在Web开发和数据抓取领域,Java爬虫技术是实现网页自动化信息提取的重要手段。本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据...

    java网络爬虫+数据库+jsp+搜索引擎.rar.rar

    在这个系统中,Java网络爬虫负责从互联网上自动抓取信息,数据库用于存储这些信息,JSP(JavaServer Pages)用于在Web服务器端生成动态网页,而搜索引擎则提供了方便快捷的信息查找功能。 **Java网络爬虫**:Java是...

    java网络爬虫demo

    - **处理动态内容**:现代网页常使用JavaScript生成内容,可能需要使用如Selenium等工具处理。 - **异常处理**:考虑到网络波动、服务器错误等情况,应编写健壮的异常处理机制。 6. **法律与道德** 在进行网络...

    java爬取京东数据

    Java爬取京东数据是一项涉及网络...通过学习和实践这些知识点,你将能够构建一个有效的Java爬虫程序,从京东网站上抓取你需要的数据。同时,要确保遵守网站的robots.txt协议,尊重网站的版权,避免不必要的法律风险。

    ChracterInformation_爬取特定企业_爬虫_engine4jy_

    在信息提取和清洗阶段,爬虫需要处理各种网页结构差异,如动态加载的内容、JavaScript生成的元素等。它可能会使用正则表达式或者XPath、CSS选择器来定位信息,同时进行异常处理和数据清洗,确保提取的数据准确无误。...

    java爬取携程酒店评价信息

    在Java编程领域,爬虫是一种常见的技术,用于自动地从互联网上抓取信息。本项目专注于使用Java编写...在实践中,不断提升对网站结构和反爬策略的分析能力,以及处理数据的技巧,是成为一名合格的Java爬虫开发者的关键。

    网络爬虫算法 java

    此外,处理JavaScript生成的内容可能需要引入如Selenium这样的自动化测试工具,它可以模拟用户交互,动态获取数据。 数据存储是爬虫工作的最终目的。根据需求,可以选择不同的存储方式,如文件系统、数据库(如...

    test_static_html:java生成静态HTML

    标题“test_static_html:java生成静态HTML”暗示了这是一个关于使用Java编程语言生成静态HTML页面的主题。在IT领域,静态HTML是指不包含服务器端脚本的网页,它们的内容在发送到浏览器时不会改变。这样的页面通常...

    java爬取各大平台价格

    Java爬虫技术是一种用于自动化获取网页数据的编程方式,它能够帮助我们从互联网上抓取大量有用的信息。在这个项目中,我们使用了几个关键的Java库来实现对多个电商平台的价格爬取,包括HtmlUnit、Jsoup和HttpClient...

    基于jsoup的java爬虫项目

    使用Selenium配合Jsoup,可以先通过Selenium加载页面,然后使用Jsoup解析已经渲染后的DOM,从而获取动态生成的内容。 **5. 扩展和优化** - 错误处理:在爬虫开发中,应处理可能的网络错误、解析异常等,确保程序的...

    自己动手写网络爬虫.PDF_彩影版附全书源码.

    了解并实施这些策略有助于爬虫避开网站的限制,更有效地抓取数据。 最后,全书源码的附带使得读者可以直接运行和调试示例,加深对知识的理解。通过实践,读者可以逐步提升编写网络爬虫的能力,为日后开发复杂的爬虫...

    java爬虫汇总.docx

    通过JSoup,开发者可以解析和执行JavaScript代码,从而获取到原本隐藏或者动态生成的数据。 WebMagic是一个功能丰富的开源Java爬虫框架,其设计目标是简化爬虫的开发过程。WebMagic提供了自动化抽取和数据抽取的...

    JAVA网络爬虫用到的JAR包,很全的的喔

    在这个压缩包中,很可能包含了用于构建Java爬虫的各种库和框架,这些资源可以帮助开发者快速搭建和实现自己的网络爬虫项目。下面将详细介绍几个关键的知识点和可能用到的库。 1. Jsoup:Jsoup是一个非常流行的Java...

    [搜索链接]Java网络爬虫(蜘蛛)源码_zhizhu.rar

    7. **延迟加载和JavaScript处理**:现代网页大量使用JavaScript动态生成内容,这可能需要使用如Selenium WebDriver这样的工具,模拟浏览器执行JavaScript,获取完整页面内容。 8. **数据存储**:抓取的数据通常需要...

    毕业设计-利用爬虫的题库自动生成系统

    本项目“毕业设计-利用爬虫的题库自动生成系统”就是针对这一需求,采用现代编程语言和技术手段,如Java、Vue和JavaScript,构建了一套自动收集、整理和生成题目的系统。 首先,让我们深入了解一下Java。Java是一种...

    Java使用HtmlParser实现简单的网络爬虫

    这只是一个基础示例,实际的网络爬虫可能需要处理更复杂的网页结构,包括JavaScript动态加载的内容、分页、登录验证等。要实现这些功能,可能需要结合其他库,如Jsoup、Selenium等。 10. **扩展性与合规性**:在...

    网络爬虫资料,全套Java写的

    - HtmlUnit:无头浏览器,支持JavaScript,可以模拟浏览器执行JavaScript,用于抓取动态生成的内容。 - Apache HttpClient:提供HTTP客户端接口,支持多种HTTP方法如GET、POST,用于发送HTTP请求并接收响应。 - ...

    静态网页爬虫

    静态网页爬虫,顾名思义,是专门针对不涉及动态交互、服务器端生成内容的网页进行数据抓取的工具。本项目是一个用Java编写的静态网页爬虫框架,特别适合初学者入门实践。 **Java 爬虫基础** Java作为一门面向对象...

    搜索链接Java网络爬虫(蜘蛛)源码-zhizhu.zip

    7. **爬虫框架**:一些现成的Java爬虫框架,如`WebMagic`和`Colly`,提供了更高级的功能,如动态加载页面的支持、延迟加载、分布式爬取等。 8. **数据存储**:抓取的数据通常需要存储,这可能涉及数据库(如MySQL、...

    Java_Jobs Scraper API是一个创新的工具,旨在从不同的平台上抓取招聘信息。它提供可靠、准确和实时的就.zip

    4. **JSON(JavaScript Object Notation)**:API返回的数据格式通常为JSON,因为JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。开发者可以通过解析JSON响应来获取招聘信息。 5. *...

Global site tag (gtag.js) - Google Analytics