




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第手把手教你Python抓取數(shù)據(jù)并可視化目錄前言一、數(shù)據(jù)抓取篇1.簡單的構(gòu)建反爬措施2.解析數(shù)據(jù)3.完整代碼二、數(shù)據(jù)可視化篇1.數(shù)據(jù)可視化庫選用2.案例實(shí)戰(zhàn)(1).柱狀圖Bar(2).地圖Map(3).餅圖Pie(4).折線圖Line(5).組合圖表總結(jié)
前言
大家好,這次寫作的目的是為了加深對(duì)數(shù)據(jù)可視化pyecharts的認(rèn)識(shí),也想和大家分享一下。如果下面文章中有錯(cuò)誤的地方還請(qǐng)指正,哈哈哈?。?!
本次主要用到的第三方庫:
requestspandaspyecharts
之所以數(shù)據(jù)可視化選用pyecharts,是因?yàn)樗胸S富的精美圖表,地圖,也可輕松集成至Flask,Django等主流Web框架中,并且在html渲染網(wǎng)頁時(shí)把圖片保存下來(這里好像截屏就可以了,),任君挑選!?。?/p>
這次的數(shù)據(jù)采集是從招聘網(wǎng)址上抓取到的python招聘崗位信息,嗯其實(shí)這抓取到的數(shù)據(jù)有點(diǎn)少(只有1200條左右,也沒辦法,崗位太少了),所以在后面做可視化圖表的時(shí)候會(huì)導(dǎo)致不好看,駭。本來也考慮過用java(數(shù)據(jù)1萬+)的數(shù)據(jù)來做測(cè)試的,但是想到寫的是python,所以也就只能將就用這個(gè)數(shù)據(jù)了,當(dāng)然如果有感興趣的朋友,你們可以用java,前端這些崗位的數(shù)據(jù)來做測(cè)試,下面提供的數(shù)據(jù)抓取方法稍微改一下就可以抓取其它崗位了。
好了,廢話不多說,直接開始吧!
一、數(shù)據(jù)抓取篇
1.簡單的構(gòu)建反爬措施
這里為大家介紹一個(gè)很好用的網(wǎng)站,可以幫助我們?cè)趯懪老x時(shí)快速構(gòu)建請(qǐng)求頭、cookie這些。但是這個(gè)網(wǎng)站也不知為什么,反正在訪問時(shí)也經(jīng)常訪問不了!額,介紹下它的使用吧!首先,我們只需要根據(jù)下面圖片上步驟一樣。
完成之后,我們就復(fù)制好了請(qǐng)求頭里面的內(nèi)容了,然后打開網(wǎng)址/進(jìn)入后直接在輸入框里Ctrl+v粘貼即可。然后就會(huì)在下面解析出內(nèi)容,我們直接復(fù)制就完成了,快速,簡單,哈哈哈。
2.解析數(shù)據(jù)
這里我們請(qǐng)求網(wǎng)址得到的數(shù)據(jù)它并沒有在html元素標(biāo)簽里面,所以就不能用lxml,css選擇器等這些來解析數(shù)據(jù)。這里我們用re正則來解析數(shù)據(jù),得到的數(shù)據(jù)看到起來好像字典類型,但是它并不是,所以我們還需要用json來把它轉(zhuǎn)化成字典類型的數(shù)據(jù)方便我們提取。
這里用json轉(zhuǎn)化為字典類型的數(shù)據(jù)后,不好查看時(shí),可以用pprint來打印查看。
importpprint
pprint.pprint(parse_data_dict)
3.完整代碼
importrequests
importre
importjson
importcsv
importtime
fromrandomimportrandom
fromfake_useragentimportUserAgent
defspider_python(key_word):
headers={
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Accept-Language':'zh-CN,zh;q=0.9',
'Cache-Control':'no-cache',
'Connection':'keep-alive',
'Pragma':'no-cache',
'Sec-Fetch-Dest':'document',
'Sec-Fetch-Mode':'navigate',
'Sec-Fetch-Site':'same-origin',
'Sec-Fetch-User':'1',
'Upgrade-Insecure-Requests':'1',
'User-Agent':UserAgent().Chrome,
'sec-ch-ua':'"NotA;Brand";v="99","Chromium";v="100","GoogleChrome";v="100"',
'sec-ch-ua-mobile':'0',
'sec-ch-ua-platform':'"Windows"',
params={
'lang':'c',
'postchannel':'0000',
'workyear':'99',
'cotype':'99',
'degreefrom':'99',
'jobterm':'99',
'companysize':'99',
'ord_field':'0',
'dibiaoid':'0',
'line':'',
'welfare':'',
save_time=time.strftime("%Y-%m-%d%H:%M:%S",time.localtime()).replace('','_').replace(':','_')
file_path=f'./testDataPython-{save_time}.csv'
f_csv=open(file_path,mode='w',encoding='utf-8',newline='')
fieldnames=['公司名字','職位名字','薪資','工作地點(diǎn)',
'招聘要求','公司待遇','招聘更新時(shí)間','招聘發(fā)布時(shí)間',
'公司人數(shù)','公司類型','companyind_text','job_href','company_href']
dict_write=csv.DictWriter(f_csv,fieldnames=fieldnames)
dict_write.writeheader()
page=0#頁數(shù)
error_time=0#在判斷職位名字中是否沒有關(guān)鍵字的次數(shù),這里定義出現(xiàn)200次時(shí),while循環(huán)結(jié)束
#(因?yàn)樵谒阉鲘徫幻謺r(shí)(如:搜索python),會(huì)在網(wǎng)站20多頁時(shí)就沒有關(guān)于python的崗位了,但是仍然有其它的崗位出現(xiàn),所以這里就需要if判斷,使其while循環(huán)結(jié)束)
flag=True
whileflag:
page+=1
print(f'第{page}抓取中……')
try:
time.sleep(random()*3)#這里隨機(jī)休眠一下,簡單反爬處理,反正我們用的是單線程爬取,也不差那一點(diǎn)時(shí)間是吧
url='這里你們自己構(gòu)建url吧,從上面的圖片應(yīng)該能看出,我寫出來的話實(shí)在是不行,過不了審核,難受!?。?
###這里還是要添加cookies的好,我們要偽裝好不是?防止反爬,如果你用上面提供的方法,也就很快的構(gòu)建出cookies。
response=requests.get(url=url,params=params,headers=headers)
except:
print(f'\033[31m第{page}請(qǐng)求異常!033[0m')
flag=False
parse_data=re.findall('"engine_jds":(.*),"jobid_count"',response.text)
parse_data_dict=json.loads(parse_data[0])
#importpprint
#pprint.pprint(parse_data_dict)
#exit()
foriinparse_data_dict:
###在這里要處理下異常,因?yàn)樵谂廊《囗摃r(shí),可能是網(wǎng)站某些原因會(huì)導(dǎo)致這里的結(jié)構(gòu)變化
try:
companyind_text=i['companyind_text']
exceptExceptionase:
print(f'\033[31m異常:{e}033[0m')
companyind_text=None
dic={
'公司名字':i['company_name'],
'職位名字':i['job_name'],
'薪資':i['providesalary_text'],
'工作地點(diǎn)':i['workarea_text'],
'招聘要求':''.join(i['attribute_text']),
'公司待遇':i['jobwelf'],
'招聘更新時(shí)間':i['updatedate'],
'招聘發(fā)布時(shí)間':i['issuedate'],
'公司人數(shù)':i['companysize_text'],
'公司類型':i['companytype_text'],
'companyind_text':companyind_text,
'job_href':i['job_href'],
'company_href':i['company_href'],
if'Python'indic['職位名字']or'python'indic['職位名字']:
dict_write.writerow(dic)
print(dic['職位名字'],'——保存完畢!')
else:
error_time+=1
iferror_time==200:
flag=False
print('抓取完成!')
f_csv.close()
if__name__=='__main__':
key_word='python'
#key_word='java'##這里不能輸入中文,網(wǎng)址做了url字體加密,簡單的方法就是直接從網(wǎng)頁url里面復(fù)制下來用(如:前端)
#key_word='%25E5%2589%258D%25E7%25AB%25AF'#前端
spider_python(key_word)
二、數(shù)據(jù)可視化篇
1.數(shù)據(jù)可視化庫選用
本次數(shù)據(jù)可視化選用的是pyecharts第三方庫,它制作圖表是多么的強(qiáng)大與精美!??!想要對(duì)它進(jìn)行一些簡單地了解話可以前往這篇博文:
/article/247122.htm
安裝:pipinstallpyecharts
2.案例實(shí)戰(zhàn)
本次要對(duì)薪資、工作地點(diǎn)、招聘要求里面的經(jīng)驗(yàn)與學(xué)歷進(jìn)行數(shù)據(jù)處理并可視化。
(1).柱狀圖Bar
按住鼠標(biāo)中間滑輪或鼠標(biāo)左鍵可進(jìn)行調(diào)控。
importpandasaspd
frompyechartsimportoptionsasopts
python_data=pd.read_csv('./testDataPython-2025-05-01_11_48_36.csv')
python_data['工作地點(diǎn)']=[i.split('-')[0]foriinpython_data['工作地點(diǎn)']]
city=python_data['工作地點(diǎn)'].value_counts()
###柱狀圖
frompyecharts.chartsimportBar
c=(
Bar()
.add_xaxis(city.index.tolist())#城市列表數(shù)據(jù)項(xiàng)
.add_yaxis("Python",city.values.tolist())#城市對(duì)應(yīng)的崗位數(shù)量列表數(shù)據(jù)項(xiàng)
.set_global_opts(
title_opts=opts.TitleOpts(title="Python招聘崗位所在城市分布情況"),
datazoom_opts=[opts.DataZoomOpts(),opts.DataZoomOpts(type_="inside")],
xaxis_opts=opts.AxisOpts(name='城市'),#設(shè)置x軸名字屬性
yaxis_opts=opts.AxisOpts(name='崗位數(shù)量'),#設(shè)置y軸名字屬性
.render("bar_datazoom_both.html")
(2).地圖Map
省份
這里對(duì)所在省份進(jìn)行可視化。
importpandasaspd
importcopy
frompyechartsimportoptionsasopts
python_data=pd.read_csv('./testDataPython-2025-05-01_11_48_36.csv')
python_data_deepcopy=copy.deepcopy(python_data)#深復(fù)制一份數(shù)據(jù)
python_data['工作地點(diǎn)']=[i.split('-')[0]foriinpython_data['工作地點(diǎn)']]
city=python_data['工作地點(diǎn)'].value_counts()
city_list=[list(ct)forctincity.items()]
defprovince_city():
'''這是從接口里爬取的數(shù)據(jù)(不太準(zhǔn),但是誤差也可以忽略不計(jì)?。?''
area_data={}
withopen('./中國省份_城市.txt',mode='r',encoding='utf-8')asf:
forlineinf:
line=line.strip().split('_')
area_data[line[0]]=line[1].split(',')
province_data=[]
forctincity_list:
fork,vinarea_data.items():
foriinv:
ifct[0]ini:
ct[0]=k
province_data.append(ct)
area_data_deepcopy=copy.deepcopy(area_data)
forkinarea_data_deepcopy.keys():
area_data_deepcopy[k]=0
foriinprovince_data:
ifi[0]inarea_data_deepcopy.keys():
area_data_deepcopy[i[0]]=area_data_deepcopy[i[0]]+i[1]
province_data=[[k,v]fork,vinarea_data_deepcopy.items()]
best=max(area_data_deepcopy.values())
returnprovince_data,best
province_data,best=province_city()
#地圖_中國地圖(帶省份)Map-VisualMap(連續(xù)型)
c2=(
Map()
.add("Python",province_data,"china")
.set_global_opts(
title_opts=opts.TitleOpts(title="Python招聘崗位——全國分布情況"),
visualmap_opts=opts.VisualMapOpts(max_=int(best/2)),
.render("map_china.html")
這是中國省份_城市.txt里面的內(nèi)容,通過[接口]抓取到的中國地區(qū)信息。
源碼:
importrequests
importjson
header={
"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/94.0.4606.81Safari/537.36",
response=requests.get('/weather2025/search/city.js',headers=header)
result=json.loads(response.text[len('varcity_data='):])
print(result)
each_province_data={}
f=open('./中國省份_城市.txt',mode='w',encoding='utf-8')
fork,vinresult.items():
province=k
ifkin['上海','北京','天津','重慶']:
city=','.join(list(v[k].keys()))
else:
city=','.join(list(v.keys()))
f.write(f'{province}_{city}\n')
each_province_data[province]=city
f.close()
print(each_province_data)
城市
這里對(duì)所在城市進(jìn)行可視化。
importpandasaspd
importcopy
frompyechartsimportoptionsasopts
python_data=pd.read_csv('./testDataPython-2025-05-01_11_48_36.csv')
python_data_deepcopy=copy.deepcopy(python_data)#深復(fù)制一份數(shù)據(jù)
python_data['工作地點(diǎn)']=[i.split('-')[0]foriinpython_data['工作地點(diǎn)']]
city=python_data['工作地點(diǎn)'].value_counts()
city_list=[list(ct)forctincity.items()]
###地圖_中國地圖(帶城市)——Map-VisualMap(分段型)
frompyecharts.chartsimportMap
c1=(
Map(init_opts=opts.InitOpts(width="1244px",height="700px",page_title='Map-中國地圖(帶城市)',bg_color="#f4f4f4"))
.add(
"Python",
city_list,
"china-cities",#地圖
label_opts=opts.LabelOpts(is_show=False),
.set_global_opts(
title_opts=opts.TitleOpts(title="Python招聘崗位——全國分布情況"),
visualmap_opts=opts.VisualMapOpts(max_=city_list[0][1],is_piecewise=True),
.render("map_china_cities.html")
地區(qū)
這里對(duì)上海地區(qū)可視化。
importpandasaspd
importcopy
frompyechartsimportoptionsasopts
python_data=pd.read_csv('./testDataPython-2025-05-01_11_48_36.csv')
python_data_deepcopy=copy.deepcopy(python_data)#深復(fù)制一份數(shù)據(jù)
shanghai_data=[]
sh=shanghai_data.append
foriinpython_data_deepcopy['工作地點(diǎn)']:
if'上海'ini:
iflen(i.split('-'))1:
sh(i.split('-')[1])
shanghai_data=pd.Series(shanghai_data).value_counts()
shanghai_data_list=[list(sh)forshinshanghai_data.items()]
#上海地圖
c3=(
Map()
.add("Python",shanghai_data_list,"上海")###這個(gè)可以更改地區(qū)(如:成都)這里改了的話,上面的數(shù)據(jù)處理也要做相應(yīng)的更改
.set_global_opts(
title_opts=opts.TitleOpts(title="Map-上海地圖"),
visualmap_opts=opts.VisualMapOpts(max_=shanghai_data_list[0][1])
.render("map_shanghai.html")
(3).餅圖Pie
Pie1
frompyechartsimportoptionsasopts
frompyecharts.chartsimportPie
importpandasaspd
python_data=pd.read_csv('./testDataPython-2025-05-01_11_48_36.csv')
require_list=[]
rl=require_list.append
foriinpython_data['招聘要求']:
if'經(jīng)驗(yàn)'ini:
rl(i.split('')[1])
else:
rl('未知')
python_data['招聘要求']=require_list
require=python_data['招聘要求'].value_counts()
require_list=[list(ct)forctinrequire.items()]
print(require_list)
c=(
Pie()
.add(
require_list,
radius=["40%","55%"],
label_opts=opts.LabelOpts(
position="outside",
formatter="{a|{a}}{abg|}\n{hr|}\n{b|:}{c}{per|7pszw0k%}",
background_color="#eee",
border_color="#aaa",
border_width=1,
border_radius=4,
rich={
"a":{"color":"#999","lineHeight":22,"align":"center"},
"abg":{
"backgroundColor":"#e3e3e3",
"width":"100%",
"align":"right",
"height":22,
"borderRadius":[4,4,0,0],
"hr":{
"borderColor":"#aaa",
"width":"100%",
"borderWidth":0.5,
"height":0,
"b":{"fontSize":16,"lineHeight":33},
"per":{
"color":"#eee",
"backgroundColor":"#334455",
"padding":[2,4],
"borderRadius":2,
.set_global_opts(
title_opts=opts.TitleOpts(title="工作經(jīng)驗(yàn)要求"),
legend_opts=opts.LegendOpts(padding=20,pos_left=500),
.render("pie_rich_label.html")
)
Pie2
frompyechartsimportoptionsasopts
frompyecharts.chartsimportPie
importpandasaspd
python_data=pd.read_csv('./testDataPython-2025-05-01_11_48_36.csv')
xueli_list=[]
xl=xueli_list.append
foriinpython_data['招聘要求']:
iflen(i.split(''))==3:
xl(i.split('')[2])
else:
xl('未知')
python_data['招聘要求']=xueli_list
xueli_require=python_data['招聘要求'].value_counts()
xueli_require_list=[list(ct)forctinxueli_require.items()]
c=(
Pie()
.add(
xueli_require_list,
radius=["30%","55%"],
rosetype="area",
.set_global_opts(title_opts=opts.TitleOpts(title="學(xué)歷要求"))
.render("pie_rosetype.html")
(4).折線圖Line
這里對(duì)薪資情況進(jìn)行可視化。
importpandasaspd
importre
python_data=pd.read_csv('./testDataPython-2025-05-01_11_48_36.csv')
sal=python_data['薪資']
xin_zi1=[]
xin_zi2=[]
xin_zi3=[]
xin_zi4=[]
xin_zi5=[]
xin_zi6=[]
forsinsal:
s=str(s)
if'千'ins:
xin_zi1.append(s)
else:
ifre.findall('-(.*)萬',s):
s=float(re.findall('-(.*)萬',s)[0])
if1.0s=1.5:
xin_zi2.append(s)
elif1.5s=2.5:
xin_zi3.append(s)
elif2.5s=3.2:
xin_zi4.append(s)
elif3.2s=4.0:
xin_zi5.append(s)
else:
xin_zi6.append(s)
xin_zi=[['10k',len(xin_zi1)],['10~15k',len(xin_zi2)],['1525k',len(xin_zi3)],
['2532k',len(xin_zi4)],['3240k',len(xin_zi5)],['40k',len(xin_zi6),]]
importpyecharts.optionsasopts
frompyecharts.chartsimportLine
x,y=[i[0]foriinxin_zi],[i[1]foriinxin_zi]
c2=(
Line()
.add_xaxis(x)
.add_yaxis(
"Python",
markpoint_opts=opts.MarkPointOpts(
data=[opts.MarkPointItem(name="max",coord=[x[2],y[2]],value=y[2])]#name='自定義標(biāo)記點(diǎn)'
.set_global_opts(title_opts=opts.TitleOpts(title="薪資情況"),
xaxis_opts=opts.AxisOpts(name='薪資范圍'),#設(shè)置x軸名字屬性
yaxis_opts=opts.AxisOpts(name='數(shù)量'),#設(shè)置y軸名字屬性
.render("line_markpoint_custom.html")
(5).組合圖表
最后,將多個(gè)html上的圖表進(jìn)行合并成一個(gè)html圖表。
首先,我們執(zhí)行下面這串格式的代碼(只寫了四個(gè)圖表,自己做相應(yīng)添加即可)
importpandasaspd
frompyecharts.chartsimportBar,Map,Pie,Line,Page
frompyechartsimportoptionsasopts
python_data=pd.read_csv('./testDataPython-2025-05-01_11_48_36.csv')
python_data['工作地點(diǎn)']=[i.split('-')[0]foriinpython_data['工作地點(diǎn)']]
city=python_data['工作地點(diǎn)'].value_counts()
city_list=[list(ct)forctincity.items()]
###柱狀圖
defbar_datazoom_slider()-Bar:
c=(
Bar()
.add_xaxis(city.index.tolist())#城市列表數(shù)據(jù)項(xiàng)
.add_yaxis("Python",city.values.tolist())#城市對(duì)應(yīng)的崗位數(shù)量列表數(shù)據(jù)項(xiàng)
.set_global_opts(
title_opts=opts.TitleOpts(title="Python招聘崗位所在城市分布情況"),
datazoom_opts=[opts.DataZoomOpts(),opts.DataZoomOpts(type_="inside")],
xaxis_opts=opts.AxisOpts(name='城市'),#設(shè)置x軸名字屬性
yaxis_opts=opts.AxisOpts(name='崗位數(shù)量'),#設(shè)置y軸名字屬性
returnc
#地圖_中國地圖(帶省份)Map-VisualMap(連續(xù)型)
defmap_china()-Map:
importcopy
area_data={}
withopen('./中國省份_城市.txt',mode='r',encoding='utf-8')asf:
forlineinf:
line=line.strip().split('_')
area_data[line[0]]=line[1].split(',')
province_data=[]
forctincity_list:
fork,vinarea_data.items():
foriinv:
ifct[0]ini:
ct[0]=k
province_data.append(ct)
area_data_deepcopy=copy.deepcopy(area_data)
forkinarea_data_deepcopy.keys():
area_data_deepcopy[k]=0
foriinprovince_data:
ifi[0]inarea_data_deepcopy.keys():
area_data_deepcopy[i[0]]=area_data_deepcopy[i[0]]+i[1]
province_data=[[k,v]fork,vinarea_data_deepcopy.items()]
best=max(area_data_deepcopy.values())
c=(
Map()
.add("Python",province_data,"china")
.set_global_opts(
title_opts=opts.TitleOpts(title="Python招聘崗位——全國分布情況"),
visualmap_opts=opts.VisualMapOpts(max_=int(best/2)),
returnc
defpie_rich_label()-Pie:
require_list=[]
rl=require_list.append
foriinpython_data['招聘要求']:
if'經(jīng)驗(yàn)'ini:
rl(i.split('')[1])
else:
rl('未知')
python_data['招聘要求']=require_list
require=python_data['招聘要求'].value_counts()
require_list=[list(ct)forctinrequire.items()]
c=(
Pie()
.add(
require_list,
radius=["40%","55%"],
label_opts=opts.LabelOpts(
position="outside",
formatter="{a|{a}}{abg|}\n{hr|}\n{b|:}{c}{per|bf0ase7%}",
background_color="#eee",
border_color="#aaa",
border_width=1,
border_radius=4,
rich={
"a":{"color":"#999","lineHeight":22,"align":"center"},
"abg":{
"backgroundColor":"#e3e3e3",
"width":"100%",
"align":"right",
"height":22,
"borderRadius":[4,4,0,0],
"hr":{
"borderColor":"#aaa",
"width":"100%",
"borderWidth":0.5,
"height":0,
"b":{"fontSize":16,"lineHeight":33},
"per":{
"color":"#eee",
"backgroundColor":"#334455",
"padding":[2,4],
"borderRadius":2,
.set_global_opts(
title_opts=opts.TitleOpts(title="工作經(jīng)驗(yàn)要求"),
legend_opts=opts.LegendOpts(padding=20,pos_left=500),
returnc
defline_markpoint_custom()-Lin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保障體系覆蓋范圍與公平性評(píng)估
- 徐州市中小學(xué)教學(xué)研究室高一物理萬有引力理論的成就學(xué)案
- 安全執(zhí)法課件
- 基于數(shù)字化的青少年體育培訓(xùn)模式創(chuàng)新
- 2025年鉆石克拉稱項(xiàng)目市場調(diào)查研究報(bào)告
- 教育機(jī)構(gòu)在數(shù)字化時(shí)代的創(chuàng)新管理與領(lǐng)導(dǎo)力培養(yǎng)
- 2025年鋼塔項(xiàng)目市場調(diào)查研究報(bào)告
- 2025年針八度測(cè)定儀項(xiàng)目市場調(diào)查研究報(bào)告
- 2025年遙控氦氣飛艇項(xiàng)目市場調(diào)查研究報(bào)告
- 2025年選煤篩項(xiàng)目市場調(diào)查研究報(bào)告
- 小學(xué)新課標(biāo)《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)》新修訂解讀課件
- 七年級(jí)下學(xué)期語文5月月考試卷
- 2024年樂山市市級(jí)事業(yè)單位選調(diào)工作人員真題
- 社區(qū)衛(wèi)生服務(wù)與試題及答案
- 補(bǔ)單合同范本10篇
- 湖南省2024年對(duì)口升學(xué)考試計(jì)算機(jī)綜合真題試卷
- 江蘇省南京市(2024年-2025年小學(xué)六年級(jí)語文)統(tǒng)編版期末考試(下學(xué)期)試卷及答案
- 中醫(yī)適宜技術(shù)-中藥熱奄包
- 材料力學(xué)第4版單輝祖習(xí)題答案
- 真空斷路器課件
- 樓面板靜載試驗(yàn)檢測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論