WebMagic爬虫(二)升级版

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

我在爬取页面的时候发现有很多数据是js渲染进去的,通过:

String htm = page.getHtml().xpath("*/html/html()").toString();

page.putField("html",htm);

就可以看到爬取下来的页面数据,可以很清晰的看出页面里面有没有自己想要的数据,如果没有,那么我们就需要进一步操作!

如果数据是ajax请求过来的,那么可以参考webmagic开发者的ajax爬取方法。我想爬取的页面数据是直接js渲染的,使用了

PhantomJ渲染之后爬取。

简单来说,PhantomJ就是一个网页浏览器。

当然我们也可以直接用谷歌浏览器代替PhantomJ,但会爬取很慢。

一:先讲一下谷歌浏览器怎么渲染爬取

用谷歌浏览器必须先下载一个谷歌的浏览器驱动,下载地址:http://chromedriver.storage.googleapis.com/index.html

要注意驱动对应谷歌版本:https://blog.csdn.net/llbacyal/article/details/78563992

demo:

package spider;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriverService;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.io.File;
import java.io.IOException;


/**
 * chromeDriver是谷歌的浏览器驱动,用来适配Selenium,有图形页面存在,在调试爬虫下载运行的功能的时候会相对方便
 * @author zhuangj
 * @date 2017/11/14
 */
public class Test
Java实现网络爬虫-Java入门|Java基础课程 目标 网络爬虫的是做什么的? 手动写一个简单的网络爬虫; 1. 网络爬虫 1.1. 名称 网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚 本。 另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 1.2. 简述 网络爬虫是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到 在网页中的其它... 阅读详情

相关推荐

java网络爬虫框架:Webmagic学习总结

网络爬虫常用的技术(Java) 底层实现Jsoup+HttpClient 开源框架Webmagic Webmagic是一个开源的爬虫框架,用于简化爬虫的开发流程,使开发者更专注与业务逻辑的开发. 主要特色: 完全模块化的设计,强大的扩展性. 核心简单但是涵盖爬虫的全部流程,灵活而强大 提供丰富的抽取页面API 无配置,但是可通过POJO+注解形式实现一个爬虫 支持多线程 支持分布式 支持爬虫...

lilei的博客 2611

webmagic源码

爬虫框架webmagic的源码

Java网络爬虫框架WebMagic源码解析与实战

WebMagic是一款轻量级、模块化的Java爬虫框架,专为结构化网页数据抓取而设计。其核心理念是“易用、可扩展、高性能”,适用于快速构建定制化爬虫系统。在Java生态中,WebMagic填补了Scrapy(Python)与Apache Nutch(重型分布式)之间的空白,特别适合中等规模的数据采集项目。相较于Scrapy的异步非阻塞模型与Nutch的Hadoop集成能力,WebMagic以简洁的API和良好的可读性赢得了中小项目开发者的青睐。

weixin_30838971的博客 1955

WebMagic(Java)简单爬虫实现,实现抓取数据,并导出到excel文件

WebMagic(Java)爬虫实现,实现数据爬取,并导出到excel文件

webmagic获取动态页面数据(通过js、Ajax渲染的页面)

本篇文章就不介绍webmagic了。 普通的静态页面获取这里也不说了,相信大家都没问题。 这里主要记录两种动态页面获取方法 1.数据存在页面js代码中 直接上代码 @Component public class JobProcessor implements PageProcessor { private String url = "https://search.51job.com/list/000000,000000,0000,00,9,99,java,2,1.html?lang=c&p

ITarmi的分享 4324

使用webmagic+selenium+PhantomJS 提取加密js爬虫的网站数据

使用webmagic+selenium+PhantomJS 提取加密js爬虫的网站数据前言核心代码 前言 因为业务需要,我需要抓取欧盟商标查询网站的数据,经过分析发现,该网站通过混淆加密js写入cookie的方式进行反爬虫js加密文件和cookie都有时限,通过破解js加密文件工作量太大,而且不一定成功。查了很多资料之后,我决定使用webmagic+selenium+PhantomJS 的方式...

凌飞安 1564

【Selenium+Webmagic】基于JAVA语言实现爬取js渲染后的页面,附有代码

事先声明笔者最近需要查看一些数据,自己挨个找太麻烦了,于是简单的学了一下爬虫。笔者在这里声明,,没有其他用途,希望来这篇文章学习的同学能抱有同样的目的。枪本身不坏,坏的是使用枪的人效果。

星光不问赶路人的博客 2837

springboot整合webmagic动态爬取网页

springboot整合webmagic爬取静态动态页面。

bright的博客 3325

学 Java 网络爬虫,需要哪些基础知识?

说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少。有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬虫而且还能做的非常好,在开源社区中有不少优秀的 Java 网络爬虫框架,例如 webmagic 。我的第一份正式工作就是使用 webmagic 编写数据采集程序,当时参与了一个舆情分析系统的开发,这里...

平头哥的技术博文 1万+

WebMagic:强大的Java网络爬虫框架

在当今信息爆炸的时代,数据的获取和处理变得越来越重要。网络爬虫作为获取网络数据的重要工具,已经成为许多开发者和数据科学家的必备技能。今天,我们将介绍一个广受欢迎的Java网络爬虫框架——WebMagic

技术无疆 2425

java之网络爬虫介绍

文章大纲 一、网络爬虫基本介绍 、java常见爬虫框架介绍 三、WebCollector实战 四、项目源码下载 五、参考文章 一、网络爬虫基本介绍 1. 什么是网络爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 2. ...

编程知识分享 1万+

Java网络爬虫Webmagic快速入门

Webmagic简介 WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,你可以快速开发出一个高效、易维护的爬虫。 以上是webmagic的官方简介,webmagic是一个用于开发网络爬虫的Java框架,底层是httpclient和jsoup,相比httpclient和jsoup开发,webmagic具有以下优点: 简单的API,可快速上手 模块化的结构,可轻松扩展 ...

清欢 4314

网络爬虫——WebMagic的使用

WebMagic 是一个非常优秀的 Java 开源网络爬虫框架,其功能覆盖了网络爬虫的 整个生命周期,包括 URL 提取、网页内容下载、网页内容解析和数据存储。WebMagic 项目的源码可以在 GitHub 上进行下载。WebMagic 具有很好的灵活性和可扩展性,支持多线程数据采集和 URL 去重等。在实际应用中,用户可以通过定制 Pipeline 的方式实现其他数据存储需求,如将 数据存储到文本文件、Excel 中等。下面示例为定制的 Pipeline,其作用是将所采集的数据存储 到一个文件中。

吴声子夜歌的博客 2239

网络爬虫------WebMagic使用教程

WebMagic介绍 昨天完成了爬虫的入门的学习,是一个最基本的爬虫案例,今天我们要学习一款爬虫框架的使用就是WebMagic。其底层用到了我们上一天课程所使用的HttpClient和Jsoup,让我们能够更方便的开发爬虫WebMagic项目代码分为核心和扩展两部分。核心部分(webmagic-core)是一个精简的、模块化的爬虫实现,而扩展部分则包括一些便利的、实用性的功能。 WebMagi...

9.冄2.7.號的博客 6456

网络爬虫2之WebMagic

网络爬虫21. WebMagic介绍2. WebMagic功能3. 爬虫分类[4. 使用WebMagic爬取51job上的招聘信息](https://editor.csdn.net/md?articleId=106706999) 1. WebMagic介绍 基础知识: WebMagic是一款爬虫框架,其底层用到了HttpClient和Jsoup,让我们能够更方便的开发爬虫WebMagic项目代码分为核心和扩展两部分。核心部分(webmagic-core)是一个精简的、模块化的爬虫实现,而扩展部分则包括

爱思考的小伙 766

【Java】Java网络爬虫WebMagic

一直在说Python爬虫,难道Java就不行???Java爬虫一样很强大!!!

别下完这场雪 890

Java爬虫框架WebMagic

WebMagic的架构设计参照了Scrapy,而实现则应用了HttpClient、Jsoup等Java成熟的工具。 WebMagic由四个组件(Downloader、PageProcessor、Scheduler、Pipeline)构成: Downloader : 下载器 PageProcessor: 页面解析器 Scheduler: 任务分配、url去重 Pipeline:数据存储、处理 WebMagic数据流转的对象: Request : 一个Request对应一个URL地址 。它是是Page

李玺 5026

webmagic获取动态cookie_人工智能开发 网络爬虫框架Webmagic

1谈谈网络爬虫1.1什么是网络爬虫在大数据时代,信息的采集是一项重要的工作,而互联网中的数据是海量的,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高。如何自动高效地获取互联网中我们感兴趣的信息并为我们所用是一个重要的问题,而爬虫技术就是为了解决这些问题而生的。网络爬虫(Web crawler)也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。它是一种按照一定的规...

weixin_39622217的博客 538

人工智能开发 网络爬虫框架Webmagic

1谈谈网络爬虫 1.1什么是网络爬虫 在大数据时代,信息的采集是一项重要的工作,而互联网中的数据是海量的,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高。如何自动高效地获取互联网中我们感兴趣的信息并为我们所用是一个重要的问题,而爬虫技术就是为了解决这些问题而生的。 网络爬虫(Web crawler)也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。它是一种按照一...

kai46385076的专栏 915
上一篇: WebMagic爬虫(一)基础版
下一篇: 百万级数据EXCEL导出--easyexcel
JavaMrSun
博客等级 码龄9年 27粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值