标签: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