前言
目前互联网高度发达,网络上传输着各种各样的数据,如果想要获取某种数据可以通过搜索引擎获取。其实搜索引擎的背后也是通过网络爬虫去获取数据,作为基础数据,再经过数据清洗等处理,搜索引擎再对处理之后的数据建立索引,使得我们在查询的时候,能够快速检索到。当然其中的过程是很复杂的,不是本篇文章能描述清楚的,也不是本篇文章的内容。
经过分析,目前的爬虫框架挺多的,根据不同的应用场景,有对应的框架;针对搜索引擎,有分布式的网络爬虫;也有针对特定领域的精细化爬取。
本文主要介绍webmagic框架,抓取股市页面数据。页面分为静态页面,动态页面,动态页面是通过js渲染的,Ajax发起的请求。在动态Ajax渲染页面上,magicweb框架是没办法处理,所以需要借助浏览器驱动器来获取,webmagic集成selenium组件。
接下来就是抓取股市财经页面的例子,实现自动化获取相关信息,减少人为浏览页面耗费的时间,同时可以根据相关规则,做到实时告警,同时也可以获取历史数据,进行本地化计算和分析,对于财经朋友来说简直就是事半功倍。
代码:
首先是pom.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.spider</groupId>
<artifactId>web-spider</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.3</version>
</parent>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<d