`
落叶留步
  • 浏览: 54345 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

java爬虫抓取js/ajax动态生成的网页

 
阅读更多

    最近一段时间,公司要写一个爬虫项目,遇到一些js或者ajax动态生成的网页,在网上找了一下,发现webdriver比较靠谱,至于htmlunit测试了一些网站直接抛异常,可能对于js支持的不是特别好。

    WebDriver一般来说有两方式:本地diver和远程diver。由于爬虫最终会部署到linux服务器,只能在命令行运行,好像是装不了浏览器,所以本地driver的流程走不通,只能尝试远程driver。还好,发现一个phantomjs的webdriver,可以在linux无界面下运行,于是选择它作为处理js动态生成网页的解决手段。

     下载去官网:http://phantomjs.org/download.html,找到对应版本下载。解压即安装。进入bin目录,执行phantomjs,需要带上启动参数,执行远程driver的地址和端口。phantomjs --webdriver 127.0.0.1:10025。

     java连接:

     

WebDriver driver = new RemoteWebDriver("http://127.0.0.1:10025", DesiredCapabilities.phantomjs());
driver.get("http://www.iteye.com");

 

    

 

分享到:
评论

相关推荐

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

    通过上述方法,结合Jsoup和HttpClient,开发者可以构建出一个能够抓取动态网页内容的爬虫程序。这不仅适用于商品价格的抓取,也适用于其他需要抓取动态数据的场景。但需要注意的是,爬取数据时应遵守网站的robots....

    java爬取携程酒店评价信息

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

    Java爬虫进阶:高效爬取CSDN技术文章.zip

    9. **动态加载内容**:现代网页常使用Ajax技术,部分内容在页面加载后才通过JavaScript动态生成。这种情况下,可能需要使用Selenium等工具模拟浏览器行为。 10. **速率控制**:设置合适的爬取速率,防止对目标...

    动态网页爬虫之小米应用商店

    传统的网页爬虫主要抓取HTML静态页面,而动态网页则需要解析JavaScript生成的内容。PhantomJS通过提供一个API接口,让开发者能够在后台运行完整的Webkit浏览器,从而能够加载和执行页面上的JavaScript代码,最终得到...

    知乎爬虫(知乎网站爬取工具,爬取知乎网页内容)

    因此,知乎爬虫可能需要处理JavaScript执行,可能借助于Headless浏览器如Puppeteer(在Node.js环境中)或Selenium(支持多种编程语言,包括Java)。这些工具能够渲染完整的网页,允许爬虫捕获动态加载的内容。 在...

    自己动手写网络爬虫 Java版

    7. **延迟加载与JavaScript执行**:现代网页常使用AJAX技术,部分内容可能在页面加载后由JavaScript动态生成。为了获取这些内容,你可能需要使用如Selenium这样的工具模拟浏览器执行JavaScript。 8. **反爬策略**:...

    ajaxexample

    - SEO难题:搜索引擎爬虫可能无法抓取到通过Ajax加载的内容。 综上所述,"ajaxexample"压缩包可能包含了一个完整的基于Java的Ajax应用实例,包括前端的JavaScript代码和后端的Java Servlet或Spring MVC处理逻辑,...

    针对 httpclient4.* 绕验证码获取公司信息 包括 jsoup网页信息的爬虫及htmlUnit对动态网站信息的抓取

    与Jsoup相比,HtmlUnit更适用于处理有复杂交互的动态网页,因为它可以执行JavaScript代码,这对于许多现代网站来说至关重要,因为很多关键信息往往隐藏在这些脚本中。在抓取公司信息时,如果网站采用了动态加载,...

    网页抓取之新方法 (在java程序中使用jQuery)

    网页抓取,也称为网络爬虫或数据抓取,是一种技术,用于自动化地从...在实际应用中,应根据具体需求调整抓取策略,如处理AJAX加载的内容、模拟登录、处理JavaScript动态生成的内容等,确保抓取结果的准确性和完整性。

    动态爬虫jsoup+jdic实现

    通常,这样的文件会包含一个或多个Java类,展示了如何结合Jsoup和Jdic进行动态网页的抓取。通过学习和理解这些代码,你可以更好地掌握动态爬虫的实现细节。 总的来说,动态爬虫jsoup+jdic实现是一种实用的网络爬虫...

    网页抓取 正则表达式 前台处理json对象

    1. **网页抓取**:网页抓取,又称为网络爬虫或网页抓取,是一种自动化程序,用于从万维网下载大量信息。它们通过模拟浏览器发送HTTP请求到服务器,然后接收并解析返回的HTML或其它格式的网页内容。常见的网页抓取...

    Java网络爬虫(蜘蛛)源码.rar

    7. **延迟加载与JavaScript处理**:许多现代网页使用AJAX技术,部分内容可能在页面加载后由JavaScript生成。为此,可能需要使用如Selenium WebDriver这样的工具模拟浏览器执行JavaScript。 8. **IP代理与验证码处理...

    ajax+jsp分页控件

    2. **考虑SEO**:由于Ajax分页会导致搜索引擎爬虫无法正常抓取所有页面,因此可能需要提供一个纯静态的分页版本供爬虫抓取。 3. **兼容性**:确保分页控件在不同的浏览器和设备上都能正常工作,包括移动设备和平板...

    Python爬虫进阶 JS 解密逆向实战-JSCrack.zip

    许多网站为了防止爬虫抓取其数据,会将关键逻辑或API调用用JavaScript加密或者混淆,这样爬虫就无法直接解析出原始信息。JS解密就是通过分析和还原这些混淆过的代码,从而揭示其真实意图。 在这个实战项目"JSCrack-...

    抓取淘宝商品的价格,物品名,销量等信息

    4. 动态加载处理:许多现代网站采用AJAX技术,部分数据可能在页面加载后通过JavaScript动态生成,这时可能需要用到Selenium等工具模拟浏览器行为。 5. 反爬机制应对:淘宝等大型网站会有反爬策略,如验证码、IP限制...

    外文翻译--异步JAVASCRIPT技术和XML ( AJAX )与JAVA平台.doc

    此外,对于搜索引擎优化(SEO)来说,AJAX应用可能会遇到困难,因为搜索引擎爬虫可能无法执行JavaScript来抓取动态内容。为了解决这些问题,出现了像服务器端渲染(SSR)和渐进式Web应用(PWA)等技术。 总的来说,...

    有关Java页面静态化

    Java页面静态化是一种提高Web应用性能的技术,它通过将动态生成的HTML页面转换为静态HTML文件,从而减少了服务器处理请求的负担,加快了用户访问速度。这种技术在高并发、大数据量的网站中尤其重要,因为它能显著...

    Ajax.rarAjax.rarAjax.rarAjax.rar

    综上所述,Ajax技术在Web开发中起着至关重要的作用,它通过与Java、数据库以及JSP的紧密协作,实现了高效、用户友好的动态网页交互。同时,了解其优缺点,可以帮助开发者在实际应用中做出最佳选择。

    非常详细的AJAX教程

    - **SEO优化**:搜索引擎爬虫无法执行JavaScript,可能影响到依赖AJAX加载的内容的抓取。 - **用户体验**:对于非JavaScript支持的浏览器或禁用了JavaScript的用户,需要提供备用方案,确保功能的可用性。 **6. ...

    ajax学习指南,java爱好者的导师

    1. **搜索引擎优化困难**:搜索引擎爬虫难以抓取动态生成的内容。 2. **依赖于JavaScript**:如果用户的浏览器禁用了JavaScript,则AJAX功能将无法工作。 3. **调试困难**:与传统Web应用相比,AJAX应用的调试更为...

Global site tag (gtag.js) - Google Analytics