2020考研如此激烈,还怕获得不了最新的调剂信息么?来对小木虫考研调剂信息爬取
一、说明
由于国家线快出了,故写了一份爬取小木虫网站调剂信息的爬虫代码,方便信息查看。此代码仅用于学习,不作为任何商业用途。
本代码可爬取小木虫任何年份,任何专业的调剂信息。
二、代码
#!~/opt/anaconda3/bin/python
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import re
import pandas as pd
import os# 获取网页
def getHTMLText(url):try:r = requests.get(url, timeout=30)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ''# 获取数据
def getDataInfo(infoList, url, pre_params, *args):params = []count = -1for i in args:count += 1par_ = pre_params[count] + iparams.append(par_)# 根据参数获取访问链接for param in params:url += param + '&'# print(url)html = getHTMLText(url)soup = BeautifulSoup(html, 'html.parser')# 获取页码数,并处理空页异常try:pages_tag = soup.find_all('td', 'header')[1].stringpages = int(re.split('/', pages_tag)[1])except:pages = 0# 判读是否只有一页if pages == 0:pages += 1for i in range(pages): # 遍历每一页page = i + 1url = url + '&page=' + str(page)html = getHTMLText(url)soup = BeautifulSoup(html, 'html.parser')tbody = soup.find_all('tbody', 'forum_body_manage')[0]trs = tbody.find_all('tr') # 每个学校的全部信息被tr标签包围for tr in trs: # 遍历每一个学校dicts = {}href = tr.find_all('a')[0].get('href') # 定位至a标签,提取href的属性值tds = tr.find_all('td') # 每个学校的各个信息包含在td标签内lens = len(tds)for i in range(lens): # 将各个学校信息添加至字典中if i == 0:title = tds[i].find('a').stringdicts[i] = titleelse:dicts[i] = tds[i].stringdicts['href'] = hrefprint(dicts)infoList.append(dicts) # 每一个学校的信息,添加至列表def outputCSV(infoList, path):data = pd.DataFrame(infoList)# with open(r'./info.csv','w+',encoding='utf-8') as f:try:data.columns = ['标题', '学校', '门类/专业', '招生人数', '发布时间', '链接']except:print('没有调剂信息...')try:if not os.path.exists(path):data.to_csv(path)print('保存成功')else:print('路径存在')except:print('保存失败')# 设定查询参数 -- 专业、年份
def parameters(pro_='', pro_1='', pro_2='', year=''):paramsList = [pro_, pro_1, pro_2, year]return paramsListdef main():url = 'http://muchong.com/bbs/kaoyan.php?'path = './2020计算机调剂信息(截止4.09).csv'pre_params = ['r1%5B%5D=', 'r2%5B%5D=', 'r3%5B%5D=', 'year=']params = parameters(pro_='08', pro_1='0812',year='2020')dataList = []getDataInfo(dataList, url, pre_params, *params)outputCSV(dataList, path)main()
三、代码使用参数说明
def parameters(pro_='', pro_1='', pro_2='', year=''):paramsList = [pro_, pro_1, pro_2, year]return paramsListdef main():url = 'http://muchong.com/bbs/kaoyan.php?'path = './data_info.csv'pre_params = ['r1%5B%5D=', 'r2%5B%5D=', 'r3%5B%5D=', 'year=']params = parameters(pro_='08', pro_1='0801')dataList = []getDataInfo(dataList, url, pre_params, *params)outputCSV(dataList, path)
主体代码已写完,只需要修改main函数中params
中的相关参数,即可使用。
parameters
函数主要用于返回查询的参数。默认参数都为空。如果都不填,则是爬取小木虫全部年份,全部专业的所有调剂信息。
params
具体参数说明:
pro_
所要查询的学科门类。可查询的见下图:
只要查询填写对应学科门类前的数字即可。例如工学,则:
pro_='08'
注意:填写的为字符串格式
pro_1
填写的一级学科代码。如下图:
以电子科学与技术为例,同样只需要填写前面代码即可。如:
pro_2='0806'
如果这一项不填,则查询的是前一个填写的整个学科门类所有信息。
pro_2
填写的二级学科代码。如图:
例如查询物理电子学调剂信息,同上。则填:pro_2='080901'
。如果不填,则默认查询的是上一级学科下的所有调剂信息。例如,这里就是全部的电子科学与技术的调剂信息。year
查询年份。例如查询2020年。
year='2020'
。注意:同样是字符串类型。如果不填,则是查询全部的年份。其中,
main()
函数中的保存路径path
,可自定义修改。
**总结:**只需修改params
和保存路径url
即可。
四、效果图
附
小木虫调剂信息网站:http://muchong.com/bbs/kaoyan.php
下载源码–并附有截止在4.09前计算机类的调剂信息
2020考研如此激烈,还怕获得不了最新的调剂信息么?来对小木虫考研调剂信息爬取相关推荐
- python爬取小木虫的调剂信息(考研调剂学生的福利)
先看看页面 这里我们以500页,为例,采用xpath选取这里的title,时间以及作者,然后再看看具体信息 红色框即为我们需要的详情信息,全部抓取后写入csv文件 import requests fr ...
- 考研调剂信息爬取,以“小木虫”为例
ps:最近发现这篇文章多了不少游览量,看来随着疫情的好转一直搁置的研究生复试终于是提上了日程,为了更方便大家参考,把数据维护了一下,调剂信息已经更新到今天(4月25日),资源链接放在文末,需要的注意去 ...
- 小木虫内蒙古科技大学计算机,2019年内蒙古科技大学招收考研调剂(二)
现如今,越来越多的企业选择研究生及以上的学历人才进行招聘.但是,考研是选拔性考试,并不是我们想象的那么简单.为此,考研网小编为您整理了"2019年内蒙古科技大学招收考研调剂(二)" ...
- 吉林大学考研计算机系分数线,吉林大学考研计算机分数线相关交流问答贴 小木虫论坛-学术科研互动平台...
Gkc666666 请大家参照附录中的山东大学(威海)2018年硕士生调剂信息,请各位有意向调剂的同学认真阅读附件招收条件,往年山大分数线在320...(1)北京大学.中国人民大学.清华大学.北京航空 ...
- 农学跨专业考研计算机,我是如何完成从农学(本科)-理学(硕士)-工学(博士)的跨专业之路 - 考研 - 小木虫 - 学术 科研 互动社区...
首先介绍自己,男,1992 生(上学迟,没留过级,没复过读,就是正常的上学,老是被别人说年纪大,这我也很无奈呀)本科毕业于某师范大学水产养殖专业(普通一本),硕士毕业某师范大学生态学专业(211),现 ...
- 电子信息工程跨考计算机武大,往届从材料跨考武大085208电子与通信工程初试303分 - 考研 - 小木虫 - 学术 科研 互动社区...
如果您因为分数原因没能如愿考上心目中理想的大学,只要您过了国家线B区分数线(按照往年的政策需要统考数学:参加数一或数二的考试),材料.物理和化学相关专业,您可要参与报名参与桂林理工大学理学院的调剂,) ...
- 中国科学院计算机报录比,中科院报录比详情 几条择校建议 - 考研 - 小木虫 - 学术 科研 互动社区...
2016考研已经落下帷幕 初试,复试,毕业论文等一系列事情终于忙完,终于有点时间写点东西. 一年的拼搏努力,让自己现在走到曾待过的考研自习室,仍然会感到发憷,心有余悸. 下面就给师弟师妹谈一点关于择校 ...
- 化学类调剂计算机,汕头大学理学院计算机化学方向招收收985、211院校本科毕业考研调剂生 - 考研 - 小木虫 - 学术 科研 互动社区...
汕头大学理学院化学系招收收985.211院校本科毕业考研调剂生 导师陈广慧教授研究兴趣: 1. 纳米材料功能化 2. MOF对气体分子吸附 3. 光化学 4. 药物设计 http://sci.stu. ...
- 食品科学与工程考研可以考计算机吗,食品科学与工程女汉子,对于考研比较迷茫,有几个问题麻烦各位前辈指点迷津,谢谢 。 - 考研 - 小木虫 - 学术 科研 互动社区...
茨阕约合肴ツ睦锪耍称贩矫婧玫难S泻芏喟.虻チ幸幌拢� 北京:中国农业大学: 天津:天津科技大学: 河北:河北农业大学: 内蒙古:内蒙古农业大学 辽宁:沈阳农业大学 吉林:吉林农业大学: 黑龙江: ...
最新文章
- 同一肢体不同关节的运动想象过程中的多通道脑电图记录
- python入门新手项目-Python入门实战项目有哪些适合新手?
- python|selenium的API说明文档查看的2种方法
- python3 循环写入一对多键值对_为什么Python 3.6以后字典有序并且效率更高?
- JavaScript URL编码 代码片段记忆
- 前端问题:button按钮在form表单的时候会当成submit提交
- 树回归--python Tkinter库创建GUI(2)
- Interfaces
- CTO 要我把这份 MySQL 规范贴在工位上!
- 踏实学习前端,学技术,必有高薪,好的人生,学习量大能力要求高就对了
- 百度文库,道客巴巴等文库免积分下载
- Spring boot微服务项目中上传图片报错,The field file exceeds its maximum permitted size of 1048576 bytes.
- linux查看进程命令wwn,在Linux下查看WWN、WWPN方法
- 台式电脑显示无法连接服务器,台式电脑无法连接网络怎么办
- [33期] 穿越地平线的渴望
- 华纳云:香港服务器哪家比较好?
- FOJ1303——Calendar
- STM32MP157 Linux系统移植开发篇19:Linux内核Wi-Fi驱动移植
- 直播预告|无监督学习的公平性研究——美国布兰迪斯大学助理教授刘洪甫
- 六轴机器人直角坐标系建立_知识篇-六轴机器人坐标