高考志愿爬虫思路(已经失效)只分享思路

主要是分享思路,代码在Github链接自行获取

获取内容:

  1. 招生计划(专业名称,学科门类,计划招生,学制)
  2. 专业分数线(专业名称,录取批次,平均分最低分/最低位次)
  3. 每年的分数线(年份,录取批次,招生类型,最低分/最低位次,省控线)
  4. 学校基本信息(学校id,名字 ,类型,科类 ,级别,位置,以及招生咨询官网

希望能给你提供帮助吧

用到的库:

pip3 install json,fake_useragent,requests #第二个可有可无

分析爬取:

1:网站采取Ajax数据

2:数据分析


一共基本框架

这是学习爬虫时自己写的一个思维导图可以根据这个为基础分析

第一次写爬虫望得到些建议

学校基本信息请求分析


 

Request URL部分:https://api.eol.cn/gkcx/api/?为主链接后面就是请求载荷,请求载荷在后面request payload详情

请求headers得到

"Host": "api.eol.cn",
"Referer": "https://gkcx.eol.cn/school/search",
"User-Agent" #这里我引用了from fake_useragent import UserAgent随机设置了显得比较装逼嘿嘿

以及请求载荷里面的参数

"access_token": "",
 "admissions": "",
 "central": "",
 "department": "",
 "dual_class": "",
 "f211": "",
 "f985": "",
 "is_doublehigh": "",
 "is_dual_class": "", "keyword": "",
 "nature": "",
 "page": f"{page}",
 "province_id": "",
 "ranktype": "",
 "request_type": 1,
 "school_type": "",
 "size": 20,
 "sort": "view_total",
 "top_school_id": "[766]",
 "type": "",
 "uri": "apidata/api/gk/school/lists"

"page"则是获取学校内容页数 一页有20条学校信息格式化一下做给循环即可批量提取

(详情看完整代码)

try:
    open_url = requests.post(url, data=j.dumps(reque_pay), headers=headers)
    if open_url.status_code == 200:
        return open_url.json()
except requests.ConnectionError as e:
    print("error", e.args)

对url https://api.eol.cn/gkcx/api/? 进行post请求即可获得


请求后得到信息

得到是json格式信息用get()方法定位到item即可

def news(json):
    if json:
        items = json.get("data")
        items_new = items.get("item")
        # print(items_new)
        for i in items_new:
            news_school = {}
            news_school["学校id"] = i.get("school_id")
            news_school["名字"] = i.get("name")
            # news_school["人气值"] = i.get("view_total")
            news_school["类型"] = i.get("type_name")
            news_school["科类"] = i.get("level_name")
            news_school["级别"] = i.get("dual_class_name") + "|" + i.get("nature_name")
            news_school["位置"] = i.get("address")
            news_school["招生咨询网站"] = i.get("answerurl")
            yield news_school

利用for循环一共的取出相关内容即可yield生成最后的获取的内容字典

招生计划

专业分数线

每年的分数线

这三给信息根据以上思路去写 请求参数多出来了学校id,年份,学科等其他参数

学校id根据前面获取学校信息即可提取传入做同步获取 年份,学科类,地方id自己可以设置

保存格式josn我写的可能有些问题 你们可以自行更改

Github:https://github.com/mumigha/school_Statistics

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值