網絡爬蟲項目實戰(zhàn) 課件 項目5 旅游Requests+MTC爬蟲項目_第1頁
網絡爬蟲項目實戰(zhàn) 課件 項目5 旅游Requests+MTC爬蟲項目_第2頁
網絡爬蟲項目實戰(zhàn) 課件 項目5 旅游Requests+MTC爬蟲項目_第3頁
網絡爬蟲項目實戰(zhàn) 課件 項目5 旅游Requests+MTC爬蟲項目_第4頁
網絡爬蟲項目實戰(zhàn) 課件 項目5 旅游Requests+MTC爬蟲項目_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

項目5旅游Requests+MTC爬蟲項目網絡爬蟲應用項目式教程《網絡爬蟲項目實戰(zhàn)》進階篇5.1項目介紹5.2任務分解5.3項目實施目錄Content5.4課后練習5.5能力拓展5.1.1

項目目標爬取某旅游網站的哈爾濱出發(fā)的旅游線路,統(tǒng)計不同線路類型的已購人數(shù),統(tǒng)計結果以柱形圖顯示。5.1.2學習目標技能目標1.能夠使用Requests采集數(shù)據2.能夠使用Pandas清洗數(shù)據3.能夠使用MySQL存儲數(shù)據4.能夠使用ECharts可視化數(shù)據知識目標1.熟悉數(shù)據采集過程2.熟悉數(shù)據清洗常見方法3.熟悉數(shù)據分析特點4.了解數(shù)據可視化形式素質目標1.培育項目管理能力2.培育解決實際問題能力實訓目標實訓項目爬取某旅游網站,分析和可視化不同線路類型的已購人數(shù)實操內容1.解析Json數(shù)據2.編寫數(shù)據爬蟲代碼3.編寫數(shù)據清洗代碼4.編寫數(shù)據分析代碼5.設計和實施可視化圖表5.2任務分解5.1項目目標5.3項目實施目錄Content5.4課后練習5.5能力拓展5.2

任務分解從數(shù)據采集到可視化,本項目包括以下任務。數(shù)據采集線路標題線路名稱已購人數(shù)線路時間數(shù)據清洗提取人數(shù)提取目的地提取旅游天數(shù)刪除多余字段數(shù)據分析按照旅游線路分組統(tǒng)計購買人數(shù)數(shù)據可視化不同旅游線路平均購買人數(shù)柱形圖網絡爬蟲實戰(zhàn)項目式教程《網絡爬蟲項目實戰(zhàn)》進階篇項目5旅游Requests+MTC爬蟲項目5.2任務分解5.1項目介紹5.3項目實施目錄Content5.4課后練習5.5能力拓展5.2.1數(shù)據采集實施過程(1)訪問:50001/gotrip/go.html,顯示網站首頁,代表網站運行正常。如下圖所示。5.2.1

數(shù)據采集實施過程(2)打開網站首頁,在頁面任意位置點擊鼠標右鍵后,選擇“檢查”,選擇“Network”選項卡,查看HTTP請求和返回內容。5.2.1

數(shù)據采集實施過程點擊“Clear”按鈕,清除緩存,然后在左面頁面窗口中任意位置點擊鼠標右鍵,選擇“重新加載”,再切換到“Doc”選項卡。5.2.1

數(shù)據采集實施過程選擇“go.html”,查看RequestHeaders,保存User-Agent的屬性值。5.2.1

數(shù)據采集實施過程切換到“XHR”選項卡,查看JSON數(shù)據,JSON數(shù)據的URL地址為::50001/gotrip/json/go.json。5.2.1數(shù)據采集實施過程XHRXHR是XMLHttpRequest的簡稱,表示在后臺與服務器交換數(shù)據,這意味著能夠在不加載整個網頁的狀況下,對網頁某部分的內容進行更新。XHR是Ajax的一種用法,而Ajax并非一門語言,只是一種不須要加載整個網頁,只是更新局部內容的技術。5.2.1

數(shù)據采集實施過程(3)打開PyCharm,F(xiàn)ile→NewProject創(chuàng)建PyCharm項目gotrip,手工填寫項目路徑,選擇Anaconda編譯器(python.exe),如下圖所示。5.2.1

數(shù)據采集實施過程點擊“Create”按鈕,進入窗口“OpenProject”,如下圖所示。5.2.1

數(shù)據采集實施過程點擊“OK”按鈕,創(chuàng)建空項目gotrip,如下圖所示。5.2.1

數(shù)據采集實施過程(4)在項目根目錄下New→PythonFile,創(chuàng)建data_spider.py,headers的“User-Agent”值使用上面RequestHeaders復制過來的內容。importrequestsimportpprintimportcsvHeaders={

‘User-Agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/78.0.3904.108Safari/537.36'}5.2.1

數(shù)據采集實施過程(5)利用get請求獲取網頁的JSON數(shù)據。url=':50001/gotrip/json/go.json'result=requests.get(url,headers=Headers).json()print(result)運行data_spider.py,PyCharm控制臺輸出如下結果:[{'title':'黔南6天5夜跟團游','name':'網紅梵凈山·全景貴州六日游?真純玩?宿2景區(qū)內?頭等艙車20人團?豪華住宿?黃果樹瀑布?荔波小七孔?西江苗寨?鎮(zhèn)遠古鎮(zhèn)+機票','pic':'./image/1.jpg','type':'跟團游','cash':'3929','time':'6月16日...8月31日多團期','buy':'33人已購'},{'title':'三亞5天4夜自由行','name':'「官方自營」「親子??情侶優(yōu)選」三亞麗禾溫德姆酒店,精選雅致房4晚??黃金地段、國際連鎖??坐擁15000平米商業(yè)廣場','pic':'./image/15.jpg','type':'自由行','cash':'983','time':'天天','buy':'0人已購'}]5.2.1

數(shù)據采集實施過程(6)修改JSON數(shù)據的格式。url=':50001/gotrip/json/go.json'result=requests.get(url,headers=Headers).json()pprint.pprint(result)[{'buy':'33人已購','cash':'3929','name':'網紅梵凈山·全景貴州六日游?真純玩?宿2景區(qū)內?頭等艙車20人團?豪華住宿?黃果樹瀑布?荔波小七孔?西江苗寨?鎮(zhèn)遠古鎮(zhèn)+機票','pic':'./image/1.jpg','time':'6月16日...8月31日多團期','title':'黔南6天5夜跟團游','type':'跟團游'},{'buy':'0人已購','cash':'983','name':'「官方自營」「親子??情侶優(yōu)選」三亞麗禾溫德姆酒店,精選雅致房4晚??黃金地段、國際連鎖??坐擁15000平米商業(yè)廣場','pic':'./image/15.jpg','time':'天天','title':'三亞5天4夜自由行','type':'自由行'}]運行data_spider.py,PyCharm控制臺輸出如下結果:5.2.1數(shù)據采集實施過程pprintpprint模塊提供了打印出任何Python數(shù)據結構類和方法。pprint包含一個“美觀打印機”,用于生成數(shù)據結構的一個美觀視圖。格式化工具會生成數(shù)據結構的一些表示,不僅可以由解釋器正確地解析,而且便于人類閱讀。將原來輸出盡可能放在一行上而分解為多行顯示,并且?guī)в斜匾目s進。5.2.1

數(shù)據采集實施過程(7)利用for循環(huán)讀取每一個數(shù)據。url=':50001/gotrip/json/go.json'result=requests.get(url,headers=Headers).json()forinfoinresult:pprint.pprint(info)

break運行data_spider.py,PyCharm控制臺輸出如下結果:{'buy':'33人已購','cash':'3929','name':'網紅梵凈山·全景貴州六日游?真純玩?宿2景區(qū)內?頭等艙車20人團?豪華住宿?黃果樹瀑布?荔波小七孔?西江苗寨?鎮(zhèn)遠古鎮(zhèn)+機票','pic':'./image/1.jpg','time':'6月16日...8月31日多團期','title':'黔南6天5夜跟團游','type':'跟團游'}5.2.1

數(shù)據采集實施過程(8)提取字段信息。url=':50001/gotrip/json/go.json'result=requests.get(url,headers=Headers).json()forinfoinresult:title=info['title']#線路標題

name=info['name']#線路名稱

type=info['type']#線路類型

buy=info['buy']#已購人數(shù)

print(title,name,type,buy)運行data_spider.py,PyCharm控制臺輸出如下結果:黔南6天5夜跟團游網紅梵凈山·全景貴州六日游?真純玩?宿2景區(qū)內?頭等艙車20人團?豪華住宿?黃果樹瀑布?荔波小七孔?西江苗寨?鎮(zhèn)遠古鎮(zhèn)+機票跟團游33人已購三亞5天4夜自由行「官方自營」「親子??情侶優(yōu)選」三亞麗禾溫德姆酒店,精選雅致房4晚??黃金地段、國際連鎖??坐擁15000平米商業(yè)廣場自由行0人已購5.2.1

數(shù)據采集實施過程(9)設置循環(huán)翻頁。importrequestsimportpprintimportcsvHeaders={'user-agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/78.0.3904.108Safari/537.36'}page_list=['','2','3','4','5']forpageinpage_list:url=':50001/gotrip/json/go{}.json'.format(page)result=requests.get(url,headers=Headers).json()forinfoinresult:#pprint.pprint(info)title=info['title']#線路標題

name=info['name']#線路名稱

type=info['type']#線路類型

buy=info['buy']#已購人數(shù)

print(title,name,type,buy)5.2.1

數(shù)據采集實施過程運行data_spider.py,PyCharm控制臺輸出如下結果:黔南6天5夜跟團游網紅梵凈山·全景貴州六日游?真純玩?宿2景區(qū)內?頭等艙車20人團?豪華住宿?黃果樹瀑布?荔波小七孔?西江苗寨?鎮(zhèn)遠古鎮(zhèn)+機票跟團游33人已購大理6天5夜跟團游口碑純玩??溫泉酒店!升動車返昆の5A精華景點+印象麗江+雪山登頂+吉普車環(huán)洱海+圣托里尼丨篝火晚會丨大理麗江6日跟團游0人已購三亞3天2夜自由行「好貨預售」三亞海棠灣紅樹林度假酒店聆海泳池一居別墅2晚|豪車接送+網紅體驗自由行0人已購可以看出,共爬取第1頁到第5頁的75條數(shù)據。5.2.1

數(shù)據采集實施過程(10)保存數(shù)據。importrequestsimportpprintimportcsvHeaders={'user-agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/78.0.3904.108Safari/537.36'}withopen('./data.csv',mode='a',encoding='utf-8',newline='')asf:f.truncate(0)writer=csv.writer(f)writer.writerow(['線路標題','線路名稱','線路類型','已購人數(shù)'])page_list=['']forpageinpage_list:url=':50001/gotrip/json/go{}.json'.format(page)result=requests.get(url,headers=Headers).json()forinfoinresult:#pprint.pprint(info)title=info['title']#線路標題

name=info['name']#線路名稱

type=info['type']#線路類型

buy=info['buy']#已購人數(shù)

print(title,name,type,buy)

withopen('./data.csv',mode='a',encoding='utf-8',newline='')asf:writer=csv.writer(f)writer.writerow([title,name,type,buy])5.2.2Pandas清洗數(shù)據(1)在項目根目錄New→PythonFile,創(chuàng)建data_clean.py。5.2.2Pandas清洗數(shù)據(2)讀入data.csv數(shù)據,并轉換為DataFrame類型。importpandasaspdpd.set_option('display.width',None)#不限制顯示寬度pd.set_option('display.unicode.east_asian_width',True)#設置數(shù)據對齊df=pd.read_csv('data.csv',encoding='utf-8')print(df.head())運行data_clean.py,PyCharm控制臺輸出如下結果:5.2.2Pandas清洗數(shù)據(3)從已購人數(shù)中提取人數(shù),并轉換為整型。df['已購人數(shù)']=df['已購人數(shù)'].str.replace("人已購","")df['已購人數(shù)']=df['已購人數(shù)'].astype("int")print(df.head())運行data_clean.py,PyCharm控制臺輸出如下結果:5.2.2Pandas清洗數(shù)據(4)從線路標題中提取目的地。df['目的地']=df['線路標題'].str.split("",expand=True)[0]print(df[['線路類型','已購人數(shù)','目的地']].head())運行data_clean.py,PyCharm控制臺輸出如下結果:5.2.2Pandas清洗數(shù)據str.split()函數(shù)str.split()方法可以實現(xiàn)將DataFame中的一列數(shù)據按照對字符串進?分割,然后以列表形式進?輸出,expand=True表示將分割后擴充成新的一列。5.2.2Pandas清洗數(shù)據(5)從線路標題中提取旅游天數(shù)。df['旅游時間']=df['線路標題'].str.split("",expand=True)[1]df['旅游天數(shù)']=df['旅游時間'].str.split("天",expand=True)[0]df['旅游天數(shù)']=df['旅游天數(shù)'].astype("int")print(df[['線路類型','已購人數(shù)','目的地','旅游天數(shù)']].head())運行data_clean.py,PyCharm控制臺輸出如下結果:5.2.2Pandas清洗數(shù)據(6)刪除多余字段。df=df.drop(axis=1,labels=['線路名稱','旅游時間'])print(df.head())運行data_clean.py,PyCharm控制臺輸出如下結果:5.2.2Pandas清洗數(shù)據(7)完善data_clean.py,保存清洗后的數(shù)據。df.to_csv("data_clean.csv",header=False,index=True)運行data_clean.py,PyCharm控制臺輸出如下結果:5.2.3MySQL存儲數(shù)據(1)創(chuàng)建數(shù)據庫tripdb。dropdatabaseifexiststripdb;createdatabasetripdb;結果如下:5.2.3MySQL存儲數(shù)據(2)創(chuàng)建表tripinfo。usetripdb;droptableifexiststripinfo;createtabletripinfo(idint,trip_titlevarchar(200),\

trip_typevarchar(200),trip_buyint,\

destinationvarchar(200),dayint,primarykey(id))\

charset=utf8;結果如下:5.2.3MySQL存儲數(shù)據(3)查看MySQL上傳目錄。showvariableslike'%secure_file_priv%';結果如下:(4)復制data_clean.csv到MySQL上傳目錄。5.2.3MySQL存儲數(shù)據(5)復制data_clean.csv絕對路徑到剪貼板。5.2.3MySQL存儲數(shù)據(6)導入data_clean.csv到tripinfo表。其中,替換data_clean.csv的絕對路徑中的“\”要換成“\\”,因為“\”在MySQL中是轉義符。loaddatalocalinfile"C:\\ProgramData\\MySQL\\MySQLServer5.7\\Uploads\\data_clean.csv"\intotabletripinfo\charactersetutf8fieldsterminatedby','

\linesterminatedby'\r\n'\(id,trip_title,trip_type,trip_buy,destination,day);結果如下:5.2.3MySQL存儲數(shù)據(7)執(zhí)行select語句,檢查前5條記錄。select*fromtripinfolimit5;結果如下:5.2.4Flask搭建服務(1)在項目根目錄New->PythonPackage,創(chuàng)建app包。(2)在app包下New->PythonPackage,創(chuàng)建views包。(3)在app目錄下New->Directory,創(chuàng)建目錄static,然后把echarts.min.js復制到app/static目錄。(4)在app包下New->PythonFile,創(chuàng)建extensions.py,定義db變量和config_extensions方法。fromflask_sqlalchemyimportSQLAlchemydb=SQLAlchemy()defconfig_extensions(app):db.init_app(app)5.2.4Flask搭建服務(5)在app/views包下New->PythonFile,創(chuàng)建main.py,定義blueprint變量。fromflaskimportBlueprintblueprint=Blueprint("main",__name__)(6)完善app/views/__init__.py,定義DEFAULT_BLUEPRINT變量。fromapp.views.mainimportblueprintDEFAULT_BLUEPRINT=((blueprint,""))5.2.4Flask搭建服務(7)完善app/__init__.py,定義Config類、config_blueprint方法、create_app方法。fromflaskimportFlaskfromapp.extensionsimportconfig_extensionsfromapp.viewsimportblueprintclassConfig:SQLALCHEMY_COMMIT_ON_TEARDOWN=TrueSQLALCHEMY_TRACK_MODIFICATIONS=FalseSQLALCHEMY_DATABASE_URI="mysql+pymysql://root:123456@:3306/tripdb?charset=utf8"defconfig_blueprint(app):app.register_blueprint(blueprint,url_prefix="")defcreate_app(config):app=Flask(__name__)app.config.from_object(config)config_extensions(app)config_blueprint(app)

returnapp5.2.4Flask搭建服務(8)在app包下New->PythonFile,創(chuàng)建manager.py。fromflask_scriptimportManager,Serverfromappimportcreate_app,Configif__name__=='__main__':app=create_app(Config)manager=Manager(app)manager.add_command('runserver',Server(host='',use_debugger=True,use_reloader=True))manager.run()右鍵選中manager.py,選擇“RunManager”菜單,運行程序,PyCharm控制臺輸出如下結果:usage:manager.py[-?]{runserver,shell}...positionalarguments:{runserver,shell}runserverRunstheFlaskdevelopmentserveri.e.app.run()shellRunsaPythonshellinsideFlaskapplicationcontext.optionalarguments:-?,--helpshowthishelpmessageandexit5.2.4Flask搭建服務點擊Run->EditConfiguration。選中manager,編輯Parameters,輸入“runserver”。5.2.4Flask搭建服務再次右鍵選中manager.py,選擇“RunManager”菜單,運行程序。PyCharm控制臺輸出如下結果,代表Flask配置成功。*ServingFlaskapp"app"(lazyloading)*Environment:productionWARNING:Thisisadevelopmentserver.Donotuseitinaproductiondeployment.UseaproductionWSGIserverinstead.*Debugmode:on*Restartingwithstat*Debuggerisactive!*DebuggerPIN:263-346-767*Runningon:5000/(PressCTRL+Ctoquit)單擊“停止”按鈕,停止manager運行。5.2.4Flask搭建服務(9)在app包下New->PythonPackage,創(chuàng)建包models。fromapp.extensionsimportdbclassTripinfo(db.Model):tablename_='tripinfo'id=db.Column(db.String(20),primary_key=True)trip_title=db.Column(db.String(200))trip_type=db.Column(db.String(200))trip_buy=db.Column(db.Integer)destination=db.Column(db.String(200))day=db.Column(db.Integer)(10)在包app/models下New->PythonFile,創(chuàng)建entities.py,定義Tripinfo類。(11)完善app/models/__init__.py,開放Tripinfo類。from.entitiesimportTripinfo5.2.4Flask搭建服務(12)完善app/views/main.py,定義get_buy_by_trip_type和api_type_buy方法。fromflaskimportBlueprint,jsonify,render_templatefromsqlalchemyimportfunc,or_fromapp.extensionsimportdbfromapp.modelsimportTripinfoblueprint=Blueprint("main",__name__)defget_buy_by_trip_type():rows=db.session.query(Tripinfo.trip_type,func.avg(Tripinfo.trip_buy))\.group_by(Tripinfo.trip_type).all()x=[]y=[]forrowinrows:x.append(row[0])y.append((int)(row[1]))returnx,y@blueprint.route("/api/type_buy")defapi_type_buy():x,y=get_buy_by_trip_type()returnjsonify([x,y])5.2.4Flask搭建服務(13)運行app/manager.py,打開Chrome,訪問:5000/api/type_buy,從服務器返回包含不同類型購買人數(shù)的列表,表示Flask連接數(shù)據庫正常。5.2.5Flask+ECharts可視化數(shù)據(1)完善app/views/main.py,定義get_buy_by_trip_type方法。fromflaskimportBlueprint,jsonify,render_templatefromsqlalchemyimportfunc,or_fromapp.extensionsimportdbfromapp.modelsimportTripinfoblueprint=Blueprint("main",__name__)defget_buy_by_trip_type():rows=db.session.query(Tripinfo.trip_type,func.avg(Tripinfo.trip_buy))\.group_by(Tripinfo.trip_type).all()x=[]y=[]forrowinrows:x.append(row[0])y.append((int)(row[1]))returnx,y@blueprint.route("/type_buy")deftype_buy():x,y=get_buy_by_trip_type()returnrender_template('single_chart.html',x_data=x,y_data=y)5.2.5Flask+ECharts可視化數(shù)據(2)在app包下New->Directory,創(chuàng)建templates目錄。(3)在templates目錄下NewHTMLFile,創(chuàng)建single_chart.html。5.2.5Flask+ECharts可視化數(shù)據(4)修改single_chart.html的代碼。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>單圖</title></head><body></body></html>5.2.5Flask+ECharts可視化數(shù)據(5)在single_chart.html中引入依賴的JS文件。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>單圖</title><scriptsrc="../static/echarts.min.js"></script></head><body></body></html></html>5.2.5Flask+ECharts可視化數(shù)據(6)完善single_chart.html,定義div元素和編寫JS代碼。JS代碼中引用數(shù)據分析產生的數(shù)據,實例化ECharts圖表對象,然后傳給div元素顯示。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>單圖</title><scriptsrc="../static/echarts.min.js"></script></head><body><divid="chart1"style="float:left;width:600px;height:400px"></div></body></html><script>varmychart1=echarts.init(document.getElementById("chart1"));varxdata=[{%foriinx_data%}"{{i}}",{%endfor%}];varydata=[{%foriiny_data%}"{{i}}",{%endfor%}];varoption={title:{text:'不同旅游類型平均購買人數(shù)',x:'center',textStyle:{color:'red',fontWeight:'bold',fontSize:'20'}},tooltip:{trigger:'axis'},xAxis:[{type:'category',data:xdata,name:'',axisLabel:{interval:0,rotate:10}}],yAxis:{type:'value',name:'購買人數(shù)'},series:[{type:'bar',name:xdata,data:ydata}]};mychart1.setOption(option);5.2.5Flask+ECharts可視化數(shù)據(7)打開Chrome瀏覽器,訪問:5000/api/type_buy,可視化結果如下圖所示。項目5旅游Requests+MTC爬蟲實戰(zhàn)網絡爬蟲實戰(zhàn)項目式教程《網絡爬蟲項目實戰(zhàn)》進階篇5.2任務分解5.1項目介紹5.4課后練習目錄Content5.3項目實施5.5能力拓展5.4課后練習1.選擇題1.在“Network”中,為了查看“User-Agent”的信息,可以點擊()。A.Headers B.Preview

C.Response D.Timing2.使用添加方式寫入CSV文件數(shù)據,可以在open()函數(shù)中使用()。A.mode='r' B.mode='rw' C.mode='a' D.mode='w'5.4課后練習1.選擇題3.在Pandas中,pd.set_option('display.width',None)表示()。A.不限制顯示行數(shù) B.不限制顯示寬度 C.不限制顯示行數(shù) D.設置數(shù)據對齊4.在Pandas中,拆分字符串,可以使用函數(shù)()。A.strip() B.replace() C.find() D.split()5.4課后練習1.選擇題5.在Pandas中,head()表示選取開始某幾行,其默認參數(shù)為()。A.1

B.2

C.5 D.106.去掉DataFrame中的某一列中的字符“年”,可以使用()。A.aschange("int") B.type("int") C.change("int") D.astype("int")5.4課后練習1.選擇題7.在將數(shù)據保存為CSV時,如果要將自動索引保存為一列,可以使用(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論