使用python爬取研招网调剂信息

一志愿考研失败了,找调剂太麻烦了,直接爬取研招网的调剂信息保存到数据库。

在这里插入图片描述

# -*- coding: utf-8 -*-
import requests
import json
import pymysql

count = 0
url = 'https://yz.chsi.com.cn/sytj/stu/sytjqexxcx.action'

headers = {
    'Accept': '*/*',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Origin': 'https://yz.chsi.com.cn',
    'Referer': 'https://yz.chsi.com.cn/sytj/tj/qecx.html',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
    'Cookie':''
}
type_dict = {}
type_dict['1'] = "全日制"
type_dict['2'] = "非全日制"


def parse_one_page(content):
    for item in content:
        yield {
            '学校名称': item['dwmc'],
            '所属学院': item['yxsmc'],
            '专业名称': item['zymc'],
            '研究方向': item['yjfxmc'],
            '培养类型': type_dict[str(item['xxfs'])],
            '计划人数': item['qers'],
            '最后更新时间已过小时': round(item['gxsj']/60,2),
            '余额状态': item['zt'],
            '省份': item['ssdm'],
            '是否符合调剂要求': item['sfmzyq'],
            '发布时间': item['fbsjStr'],
            '调剂特殊要求': item['bz']
        }


for i in range(50):
    if count == 0:
        para = {
            'pageSize': 20,
            'start': '',
            'orderBy': '',
            'mhcx': 1,
            'ssdm2': '',
            'xxfs2': '',
            'dwmc2': '计算机科学与技术',
            'data_type': 'json',
            'agent_from': 'wab',
            'pageid': ''
        }
    else:
        para = {
            'pageSize': 20,
            'start': count * 20,
            'orderBy': '',
            'mhcx': 1,
            'ssdm2': '',
            'xxfs2': '',
            'dwmc2': '计算机科学与技术',
            'data_type': 'json',
            'agent_from': 'wab',
            'pageid': 'tj_qe_list'

        }
    try:
        print("正在收集第{}页\n".format(i+1))
        r = requests.post(url, headers=headers, timeout=30, data=para)
        count += 1
        r.raise_for_status()
        r.encoding = 'utf-8'
        # print (r.text)
        text = json.loads(r.text)
        content = text['data']['vo_list']['vos']
        for item in parse_one_page(content):
            # print(item)
            db = pymysql.connect(host="Localhost", user="root", password="123456", db="yz01", charset="utf8")
            cursor =  db.cursor()

            学校名称 = item['学校名称']
            所属学院 = item['所属学院']
            专业名称 = item['专业名称']
            研究方向 = item['研究方向']
            培养类型 = str(item['培养类型'])
            计划人数 = item['计划人数']
            最后更新时间已过小时 = item['最后更新时间已过小时']
            余额状态 = item['余额状态']
            省份 = item['省份']
            是否符合调剂要求 = item['是否符合调剂要求']
            发布时间 = item['发布时间']
            调剂特殊要求 = item['调剂特殊要求']
            cursor.execute(
                'INSERT INTO y01(学校名称,所属学院,专业名称,研究方向,培养类型,计划人数,最后更新时间已过小时,余额状态,省份,是否符合调剂要求,发布时间,调剂特殊要求) VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)',
                (学校名称,所属学院,专业名称,研究方向,培养类型,计划人数,最后更新时间已过小时,余额状态,省份,是否符合调剂要求,发布时间,调剂特殊要求))
            db.commit()
            cursor.close()
            db.close()
    except:
        count += 1
  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
本科毕业论文,查重率为1.9%,可供大家参考。以python爬虫为背景。Web网页数据挖掘技术在上个世纪80年代早就已经有了初步的研究,随着互联网的迅速开展和大规模数据时代的开展,从“冰山一角”的大量数据中寻找潜在有用的价值信息,数据挖掘技术起到了不可忽视的作用,并成为当下最抢手的钻研热点之一。近年来,该技术快速进步,在工程、医学与科学等多种行业都取得了巨大的成果,其研究价值也随之增高。 随之传统的Web爬虫技术也称为网页机器人或者网页蜘蛛,它是一个对网页数据进行批量的下载的程序。面向传统的Web页面的网络爬虫通常采用的方式是对网页中的超链接关系的对外进行扩展,从而获取整个互联网中页面的信息。基于python的Web爬虫需要对网站中的各个节点之间的进行研究,以便获得整个网站的节点关系图。在网络爬虫开发中,Python是最为普遍运用的设计言语。Python爬虫设计中具备特殊的优势,其丰厚的开源库和优异的代码封装使得Python爬虫逐步成为了潮流。 本次毕业设计就是在这个背景下进行的,主要采用了python语言设计程序,其丰富的库函数能够找出网页的xml结构,并运用正则表达式对数据进行筛选。 最后将数据存入mysql数据库展开保存,方便后续的操作。本文旨在方便考研调剂挖掘,为考研学子以后咨询信息提供了一条更加便捷和可行的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值