box系列爬虫项目
---
# 1 项目简介
## 1.1 功能介绍
- 基于WebMagic-0.7.3开源框架实现的爬虫项目
- 基于SpringBoot框架搭建
- 支持爬取主流新闻网站的新闻数据
- 支持爬取东方财富网A股所有股票250日行情,数据量达到100万
- 支持自动更新数据
- 支持CCTV欧洲杯2020比赛数据爬取
## 1.2 数据落库位置
- 新闻数据存储在MongoDB
- 股票数据存储在MySQL的stock数据库
## 1.3 目前支持爬取网站:
### 新闻
- 腾讯新闻
- 凤凰资讯
### 股票
- 东方财富 个股信息
- 东方财富 k线信息
- 东方财富 交易日信息
- 东方财富 新股信息
### 竞技赛事
- CCTV 欧洲杯2020赛事
# 2 使用说明
## 2.1 数据库准备
1. 准备有效MongoDB、MySQL数据库,并配置到resources/application-dev.yml
2. 初始化数据库
- mongoDB脚本:doc/mongoDB.sql
- MySQL脚本:doc/stock.sql
## 2.2 启动程序
1. 执行 src/test/java/com/aposs/box/spider/domain/stock/StockTest.java 的 runStockInfoSpiderTest 方法,即可爬取A股所有股票清单
2. 从com.aposs.box.spider.BoxSpiderApplication类启动项目,即可启动服务定时爬取A股行情
## 2.3 爬取股票数据说明
### 2.3.1 初始化 tbl_stock_info 表
- 开始爬取股票k线数据前,需要确认tbl_stock_info表有数据,因为程序是依赖此表中的股票数据执行爬取任务的;
- 初始化或更新 tbl_stock_info 表的数据入口为:
> com.aposs.box.spider.service.StockSpiderService.runStockInfoSpider
- 也可以选择执行 doc/tbl_stock_info.sql 脚本初始化 tbl_stock_info 表数据,但是可能漏掉新股
### 2.3.2 爬取A股所有股票250日行情
- 以下方法为爬取入口为,传入参数 250 即可开始爬取所有股票250日行情
> com.aposs.box.spider.service.StockSpiderService.runKlineSpider(java.lang.Integer)
## 2.4 通用爬虫(包括各种赛事、新闻爬取)
1. 初始化爬虫元数据表 tbl_spider_mate_data(数据库脚本:doc/tbl_spider_mate_data.sql)
2. 启动项目即可自动爬取相关数据到mongoDB对应的集合中(集合名称为{spider_name})
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
轻易爬取A股5000+支股票250日行情百万数据,也支持腾讯新闻、凤凰资讯数据爬取 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot快速开发的爬虫项目,轻易爬取A股5000+支股票250日行情百万数据,也支持腾讯新闻、凤凰资讯数据爬取.zip (59个子文件)
WGT-code
pom.xml 6KB
doc
mongoDB
mongoDB.sql 170B
mysql
tbl_spider_mate_data.sql 5KB
stock.sql 3KB
tbl_stock_info.sql 885KB
jenkins-start.sh 2KB
src
test
java
com
aposs
box
spider
simple
JsonTest.java 616B
SpiderMateDataTest.java 2KB
LocalDateTest.java 885B
domain
stock
StockTest.java 2KB
news
dao
MongoDBTest.java 3KB
main
resources
mapper
TradingDateRecordMapper.xml 885B
application-dev.yml 375B
application.yml 2KB
logback-spring.xml 2KB
java
com
aposs
box
spider
constant
enums
PositionTypeEnum.java 284B
SpiderTypeEnum.java 336B
SpiderStatusEnum.java 386B
StoreTypeEnum.java 279B
Dictionary.java 187B
BoxSpiderApplication.java 563B
converter
SpiderMateDataConverter.java 2KB
BoxSpiderRunner.java 2KB
controller
SpiderController.java 960B
utils
PropertiesUtil.java 1KB
ProxyCheckUtil.java 3KB
DateUtil.java 522B
ClockUtil.java 1KB
net
HttpUtil.java 3KB
HttpClientUtil.java 8KB
dao
mapper
SpiderMateDataMapper.java 321B
SpiderMateDataDao.java 1KB
mongo
CommonDao.java 2KB
service
StockSpiderService.java 4KB
SimpleSpiderService.java 5KB
model
base
BaseResponse.java 966B
entity
QueryProperty.java 142B
SpiderMateData.java 1KB
ProcessProperty.java 497B
PipeLineProperty.java 702B
dto
SpiderMateDataDto.java 1KB
domain
stock
processor
KlineProcessor.java 4KB
StockInfoProcessor.java 1KB
pipeline
StockInfoPipeline.java 2KB
KlinePipeline.java 2KB
dao
KlineMapper.java 373B
StockInfoMapper.java 406B
TradingDateRecordMapper.java 563B
StockInfoDao.java 1KB
entity
Kline.java 4KB
TradingDateRecord.java 588B
StockInfo.java 1KB
StockRealTimeSpider.java 5KB
NewStockSpider.java 4KB
config
MyPageProcessor.java 499B
MyMapper.java 236B
LICENSE 11KB
readme.md 2KB
.gitignore 447B
共 59 条
- 1
资源评论
JJJ69
- 粉丝: 6222
- 资源: 5780
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功