码迷,mamicode.com
首页 > 其他好文 > 详细

海工录取分数线

时间:2020-05-10 19:26:39      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:imp   ppa   cep   strong   ring   params   reverse   html   eve   

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轴。

海工录取分数线

标签:imp   ppa   cep   strong   ring   params   reverse   html   eve   

原文地址:https://www.cnblogs.com/chenshuo1/p/12864440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!