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处理后的数据excel处理后的数据
ps:如果需要郑州大学,excel处理后录取数据可以评论留下QQ邮箱我单发给你。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值