python-大学录取数据爬虫程序
python-大学录取数据爬虫程序
其中运用了python3.7编译器,还有利用pip install requests在CMD中安装了requests第三方库,然后就可以进行我们的程序编译了
以下是获取2017年郑州大学在各个省市的录取数据的python爬虫程序
import requests
import re
def getHTMLText(url):
#向网页发送请求,读取网页内容
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
#异常处理
except:
return "产生异常"
def parse_one_page(html):
#观察网页结构,可以发现高校录取数据都封装在<td> </td>标签之中,但是还有录取数据却也在<td><a> </td></a>标签之中,
#所以首先利用正则表达式中的sub替换掉后者标签,使其成为与前者一样的标签后,利用正则表达式,通配符,即可提取出网页内容
res='<td.*?>(.*?)<.*?/td>'
page1=re.sub('<a.*?=".*?">','',html)
texts=re.findall(res,page1,re.S|re.M)
for m in texts:
print(m)
def main(p):
#main函数内容为获取网页url,并将其输出
url="http://college.gaokao.com/spepoint/y2017/o郑州大学/p"+str(p)+'/'
#此处为爬取网页的url
html=getHTMLText(url)
parse_one_page(html)
#遍历,获取第一页到第33页的内容,并打印输出
for i in range(1,33):
main(i)
以上程序运行结果为
对运行结果进行处理(在word)中处理替换掉其中“高考期间……打开微信扫一扫”字段然后进行下一步,即可得到格式化输出结果
对文件进行格式化输出,保存文件为txt格式
#text_handle.py
file=open("C:/Users/weige/Desktop/bigdata2017.txt","r+",encoding='utf-8')#open里面为打开文件的绝对路径,为了让文件能正常读取,改变读取编码为utf-8
#file2=file.replace("\n","")
k=0
for line in file:#遍历文件所有行
k=k+1
new_line=line.replace('\n','')#将txt中文件‘\n'替换为空格
if k%9==0:
print("\n")#使得输出9行内容后然后换行,使得同一信息保存在一行内
else:
print(new_line,end=",")
file.close()
格式化输出结果为
以下为爬取2007年到2017年郑州大学的录取数据的查询,如果想爬取其它学校的数据,可直接在url链接中的http://college.gaokao.com/spepoint/y2011/o郑州大学/p44/,郑州大学改为其它大学即可实现(其中有小细节,自己观察观察),提示http://college.gaokao.com/spepoint/y()/o(***)/p()/只需要更改 (***)中内容即可。
import requests
import re
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return "产生异常"
def parse_one_page(html):
res='<td.*?>(.*?)<.*?/td>'
page1=re.sub('<a.*?=".*?">','',html)
texts=re.findall(res,page1,re.S|re.M)
for m in texts:
print(m)
def main(pn1,pn2):
url="http://college.gaokao.com/spepoint/y"+str(pn1)+"/o郑州大学/p"+str(pn2)+'/'
html=getHTMLText(url)
#print(html)
parse_one_page(html)
for i in range(11):
for j in range(60):
main(2006+i,j)
以上即为程序全部代码,如有问题敬请各位大佬指点一二,对code感兴趣的可以关注我,大家一同学习学习
excel处理后的数据
ps:如果需要郑州大学,excel处理后录取数据可以评论留下QQ邮箱我单发给你。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)