海工录取分数线

Posted chenshuo1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了海工录取分数线相关的知识,希望对你有一定的参考价值。

1.数据描述

想了想决定爬一下海工的录取分数线,但是刚开始只能爬出数据,没有办法转化为列表形式,于是在网上找了很多方法,也参考了一下同学的,终于将其转化为列表形式得了。

for tr in data:
    lt=[]
    lg=[]
    ltd=tr.find_all(‘td‘)
    if len(ltd)==0:
        continue
    for td in ltd:
        lt.append(td.string)
    for word in lt:
        word=word.strip()
        lg.append(word)
    ls.append(lg)
 
2.数据分析代码
首先我用上周代码复用的方法将海工分数线爬出来,后用列表整合出了各个省份的分数线
技术图片
 
 
import matplotlib.pyplot as plt
import requests
from bs4 import BeautifulSoup
def get(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        return‘‘
       
url=‘http://www.gaokw.com/gk/gxfsx/189856.html
demo=get(url)
ls=[]
soup=BeautifulSoup(demo,‘html.parser‘)
data=soup.find_all(‘tr‘)
for tr in data:
    lt=[]
    lg=[]
    ltd=tr.find_all(‘td‘)
    if len(ltd)==0:
        continue
    for td in ltd:
        lt.append(td.string)
    for word in lt:
        word=word.strip()
        lg.append(word)
    ls.append(lg)
sf=[]
fsx=[]
for i in range(15,36):
    u=ls[i]
    sf.append((u[1]))
    fsx.append(int(u[3]))
#print(sf,fsx)
for i in range(21):
    print(sf[i],fsx[i])
3.数据分析图
技术图片
x=[]
y=[]
for i in range(21):
    y.append(fsx[i])
    x.append(sf[i])
x.reverse()
y.reverse()
plt.barh(range(len(y)),y,tick_label=x,color=‘yellow‘)
plt.rcParams[‘font.sans-serif‘] = [‘STKaiTi‘]
plt.rcParams[‘axes.unicode_minus‘] = False
plt.title("海工录取分数线")
plt.show()
4.数据分析结果
在制作分析图时,将省份作为x轴结果发现全是乱码,后把xy轴调换之后,可以完整表达出来了
5.总结
爬虫方面还需要加强将爬出来的内容转化为列表形式,这样也方便后面的数据做图,作图时一定选好谁做xy轴。

以上是关于海工录取分数线的主要内容,如果未能解决你的问题,请参考以下文章

历年高考专业录取分数线 API 接口

2019清华大学录取分数线(在各省市录取数据)

大数据分析 | 南昌城区高中特长班近三年录取分数线一览

2019复旦大学录取分数线(在各省市录取数据)

2019四川大学录取分数线(在各省市录取数据)

2019东北大学录取分数线(在各省市录取数据)