代码拉取完成,页面将自动刷新
同步操作将从 coco56/考研大数据分析 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding : utf-8 -*-
# @Author : Coco
# @Author's GitHub : https://github.com/COCO5666
# @Author's CSND : https://blog.csdn.net/COCO56
# @Author's Webpage : https://coco5666.github.io/
# @IDE: PyCharm
# @Python: Python3.7.2
# @Created Time :2019-02-16 22:52:36
# @Modified Time :2019-02-16 23:58:25
# @File : main-01-getData.py
"""
* 程序入口模块一
* 为打开/启动程序以及调用执行相关库函数提供支持
* 具体的,启动后开始进行第一阶段的数据采集工作
"""
from V3_0.Spider.api import getHtmlTextData
from storer import storer
from selector import selector
import os
from V3_0.Selector.api import getSubjectsURLs
if __name__ == '__main__':
# 获取所有需要用到的单例
storerIns = storer.getInstance()
selectorIns = selector.getInstance()
# 初始化全局变量
databasePath = storerIns.getDataBasePath()
# 判断是否需要重新筛选数据
reSelectFlag = False
subjectsInfoPklPath = databasePath + '\\step1-04-SubjectsInfo.pkl'
selectorIns.reSelect(reSelectFlag, subjectsInfoPklPath)
#####################################
# 第一阶段:数据采集阶段
#####################################
###第01步:获取学科类别代码
# (原始的json数据)
# getRawSubjectsCode
# 设置文件存放路径
jsonPath = databasePath + '\\step1-01-1-RawSubjectsCode.json'
jsonURL = 'https://yz.chsi.com.cn/zsml/pages/getZy.jsp'
# 本地存在所需的Json文件,打开文件读取并返回数据
if os.path.exists(jsonPath):
data = storerIns.getJsonFileData(jsonPath)
# 本地不存在所需的Json文件,访问URL获取数据,然后将数据保存在本地后返回数据
else:
jsonHtmlPath = databasePath + '\\step1-01-1-RawSubjectsCode'
data = getHtmlTextData(jsonURL, jsonHtmlPath)
storerIns.writeStringDataToJsonFile(data, jsonPath)
# (Python数据类型)
# getSubjectsCode
pklPath = databasePath + '\\step1-01-2-SubjectsCode.pkl'
from V3_0.Selector.api import getSubjectsCode
data = storerIns.getPickleFileDataFromJsonFile(
pklPath, getSubjectsCode, jsonPath)
###第02步:获取所有学科类别的URL
# 设置文件存放路径
pklPath = databasePath + '\\step1-02-SubjectsURL.pkl'
data = storerIns.getPickleFileDataFromOtherData(pklPath, getSubjectsURLs, data)
# print(data)
###第03步:逐一获取每一个学科类别的所有机构名
pklPath = databasePath + '\\step1-03-SubjectsInstitutions.pkl'
data = storerIns.getPickleFileDataFromOtherData(pklPath, selectorIns.getInstitutionsName, data)
###第04步:获取所有学科的招生信息
pklPath = subjectsInfoPklPath
data = storerIns.getPickleFileDataFromOtherData(pklPath, selectorIns.getAllSCInfo, data)
###第05步:数据采集完毕
print('数据采集完毕')
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。