go语言抓取研招网硕士专业目录

发布时间 2023-05-29 11:51:59作者: 念秋

最近在学go语言,不知道何从下手。突然想到了硕士专业目录,可以用来练习数据库操作,并且具有实际意义。

于是就开始和bing一起编程。想做什么,提问就好了。搜索效率比自己搜索,然后看一些重复无用的博客好多了。

整个过程就是研招网查询,抓包分析,编码,数据库建表,最后抓取所有数据进行保存。

项目地址

研招网查询

研招网专业

image-20230529112729252

ssdm	省市
yjxkdm	专业领域
zymc	专业名称
xxfs	学习方式
mldm	门类类别
这是点击查询后,post里面需要修改的数据。基本上只需要秀应该省市和专业名称。
下拉选择框的时候,也会有一些get请求。自己使用fiddler抓取分析即可。不过我已经保存了相关的请求和响应包在gitee项目里面。有需要直接看gitee项目即可。

编码

编码,我问bing,它回答,再进行修改即可。需要什么功能,就问什么,然后返回示例代码,进行修改。

image-20230529113316973

数据库建表

image-20230529113401338

CREATE TABLE major (
  id INT NOT NULL AUTO_INCREMENT,
  code INT NOT NULL,
  school VARCHAR(40) NOT NULL,
  college VARCHAR(40) NOT NULL,
  major VARCHAR(40) NOT NULL,
  num	INT NOT NULL,
  full	INT NOT NULL default 1,
  tongkao	INT NOT NULL default 0,
  PRIMARY KEY (id)
);

CREATE TABLE exam (
  id INT NOT NULL AUTO_INCREMENT,
  first VARCHAR(40) NOT NULL,
  second VARCHAR(40) NOT NULL,
  third VARCHAR(40) NOT NULL,
  forth VARCHAR(40) NOT NULL,
  PRIMARY KEY (id)
);

CREATE TABLE major_exam (
  major_id INT NOT NULL,
  exam_id INT NOT NULL,
  FOREIGN KEY (major_id) REFERENCES major(id),
  FOREIGN KEY (exam_id) REFERENCES exam(id)
);
读者应根据需要自行修改。

最后进行请求数据,进行处理,然后保存

image-20230529113505419

image-20230529113514471

image-20230529113401338

可以看见,计算机专硕大概有不到3000个选择。major表的行数,就是所有大学所有学院相关专业以及研究方向的数量。至于招生人数,也是可以自己统计的。