网络爬虫之东方财富网股票板块

本文介绍如何使用网络爬虫抓取东方财富网的股票板块数据,包括抓包分析、项目框架、数据模型、数据库操作及定时任务实现。详细讲解了各模块的功能,如HTTPUtils、TimeUtils和Jsoup解析,并提供了数据表创建和主方法的示例。
摘要由CSDN通过智能技术生成

本文为原创博客,仅供技术学习使用。未经允许,禁止将其复制下来上传到百度文库等平台。如有转载请注明本文博客的地址(链接)。
源码或者jar包如有需要请联系:2428607276@qq.com

  • 要抓取的数据
  • 抓包
  • 框架
  • model
  • 建立数据表
  • 主方法
  • util
  • parse
  • db
  • job和jobmain

要抓取的数据

这个项目要抓取的是东方财富网的板块数据。
链接为http://quote.eastmoney.com/center/BKList.html#trade_0_0?sortRule=0
这里写图片描述


抓包

抓包具体请看我之前的博客。
链接为http://blog.csdn.net/qq_22499377/article/details/78114734


框架

本文使用的框架,如下图所示:
这里写图片描述
db:主要放的是数据库操作文件,包含MyDataSource和MYSQLControl。
model:用来封装对象,将要操作的对象的属性封装起来。
parse:这里面存放的是针对util获取的文件,进行解析,一般采用Jsoup解析。
main:程序起点,用来获取数据,执行数据库语句以及存放数据。
job:用来执行的job任务。
jobmain:控制器,即设定执行一次job的时间。股票数据每天下午3点钟收盘,即设置为3点钟以后的某个时间点开始爬行相关股票数据。


model

model用来封装我要爬的数据,如当天的日期,板块的id,板块的名称,板块价格等等。如下面程序:

package model;

//创建对象及我们爬取的数据内容包含以下字段
public class ExtMarketPlateModel {
   
    private String date;
    private String plate_rank;
    private String plate_id;
    private String plate_name;
    private float plate_price;
    private float plate_change;
    private float plate_range;
    private String plate_market_value;
    private float plate_turnover_rate;
    private String craw_time;
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
    public String getPlate_rank() {
        return plate_rank;
    }
    public void setPlate_rank(String plate_rank) {
        this.plate_rank = plate_rank;
    }
    public String getPlate_id() {
        return plate_id;
    }
    public void setPlate_id(String plate_id) {
        this.plate_id = plate_id;
    }
    public String getPlate_name() {
        return plate_name;
    }
    public void setPlate_name(String plate_name) {
        this.plate_name = plate_name;
    }
    public float getPlate_price() {
        return plate_price;
    }
    public void setPlate_price(float plate_price) {
        this.plate_price = plate_price;
    }
    public float getPlate_change() {
        return plate_change;
    }
    public void setPlate_change(float plate_change) {
        this.plate_change = plate_change;
    }
    public float getPlate_range() {
        return plate_range;
    }
    public void setPlate_range(float plate_range) {
        this.plate_range = plate_range;
    }
    public String getPlate_market_value() {
        return plate_market_value;
    }
    public void setPlate_market_value(String plate_market_value) {
        this.plate_market_value = plate_market_value;
    }
    public float getPlate_turnover_rate() {
        return plate_turnover_rate;
    }
    public void setPlate_turnover_rate(float plate_turnover_rate) {
        this.plate_turnover_rate = plate_turnover_rate;
    }
    public String getCraw_time() {
        return craw_time;
    }
    public void setCraw_time(String craw_time) {
        this.craw_time = craw_time;
    }

}

建立数据表

在写程序之前,先根据model的属性来建立数据表。建表的时候,一定要记得注明每一个属性的真实含义,以便以后的人可以轻松交接。

CREATE TABLE `ext_market_plate` (
  `date` date NOT NULL COMMENT '当天日期',
  `plate_rank` char(20) NOT NULL COMMENT '板块排名',
  `plate_id` char(20) NOT NULL COMMENT '板块代码',
  `plate_name` char(50) DEFAULT NULL COMMENT '板块名称',
  `plate_price` float(10,2) DEFAULT NULL COMMENT '板块最新价格',
  `plate_change` float(10,2) DEFAULT NULL COMMENT '涨跌额',
  `plate_range` float(10,4) DEFAULT NULL COMMENT '涨跌幅度',
  `plate_market_value` char(50) DEFAULT 
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值